上一篇文章 《WordPress 小技巧:評論鏈接轉為內鏈轉跳的方法》 中介紹瞭如何使評論中的外鏈以站內鏈接的形式轉跳。但是小編想了下,如果所有外鏈都可以通過 abc.vom/wxd_to.php?v7v3=123.com 這種形式來轉跳的話,可能會別有用心的人利用。拿個例子來説吧,假如 A 有個色情網站網址為 baidu.com,在 QQ 中直接發鏈接會顯示安全警報,而 B 的網站網址是 qq.com 開啓了評論外鏈轉跳,由於 B 的網站是安全網站,所以在 qq 聊天中發 qq.com 就屬於安全網站。 A 發現了這點就可以利用你的網站來做轉跳從而達到網址不被 QQ 雲安全攔截的效果。而時間久了,你的網站也會被誤判為色情網站。那麼怎麼來避免這點呢?

方法如下:用以下代碼將上篇文章中 wxd_to.php 的代碼覆蓋掉

<?php

error_reporting(0);

$url = $_SERVER["HTTP_REFERER"];
$str = str_replace("http://","",$url);
$strdomain = explode("/",$str);
$domain = $strdomain[0];
//判斷來路域是否含有 weixiaoduo.com, 請勿包含 http://否則會造成判斷失效
if($domain == "weixiaoduo.com")

{
//含有 weixiaoduo.com 5 秒後跳轉到當前頁面 url 後面參數網址
 header("refresh:5;url=$_GET[url]");
//輸出文字説明,
        echo "<head> <meta http-equiv='Content-Type' content='text/html; charset=utf-8'></head>
        </br></br></br><p align=center><font size=5 color=red><b> 通知:此跳轉鏈接來源合法,5 秒後自動跳轉!</b></font></p>";
}

else
//非來源與 http://www.weixiaoduo.com 的鏈接處理方法
{
 echo "<head> <meta http-equiv='Content-Type' content='text/html; charset=utf-8'></head>
 </br></br></br><p align=center><font size=5 color=red><b> 警告:此跳轉鏈接來源請求非法,5 秒後自動跳回到首頁!</b></font></p>";
        header("refresh:5;url=https://www.weixiaoduo.com/");

}

?>

另外 echo 輸出和 PHP 頁面大家可以自己美化,我個人能力有限。演示效果可以參考騰訊的搜搜問問。

之前的代碼轉跳的確存在問題,這次多虧 @正版軟件分享 的提醒已修正。代碼更新於 2013 年 12 月 20 日。