上一篇文章《wordpress小技巧:评论链接转为内链转跳的方法》中介绍了如何使评论中的外链以站内链接的形式转跳。但是魔客吧想了下,如果所有外链都可以通过abc.vom/v7v3_to.php?v7v3=123.com这种形式来转跳的话,可能会别有用心的人利用。拿个例子来说吧,假如A有个色情网站网址为baidu.com,在QQ中直接发链接会显示安全警报,而B的网站网址是qq.com开启了评论外链转跳,由于B的网站是安全网站,所以在qq聊天中发qq.com就属于安全网站。A发现了这点就可以利用你的网站来做转跳从而达到网址不被QQ云安全拦截的效果。而时间久了,你的网站也会被误判为色情网站。那么怎么来避免这点呢?
方法如下:用以下代码将上篇文章中v7v3_to.php的代码覆盖掉
$url = $_SERVER["HTTP_REFERER"];
$str = str_replace("http://","",$url);
$strdomain = explode("/",$str);
$domain = $strdomain[0];
//判断来路域是否含有moke8.com,请勿包含http://否则会造成判断失效if($domain == "moke8.com") {
//含有moke8.com 5秒后跳转到当前页面url后面参数网址 header("refresh:5;
url=$_GET[url]");
//输出文字说明, echo "通知:此跳转链接来源合法,5秒后自动跳转!
";
}
else//非来源与http://www.moke8.com的链接处理方法{
echo "警告:此跳转链接来源请求非法,5秒后自动跳回到首页!
";
header("refresh:5;
url=http://www.moke8.com/");
}
?>
另外echo输出和PHP页面大家可以自己美化,我个人能力有限。演示效果可以参考腾讯的搜搜问问。
之前的代码转跳的确存在问题,这次多亏@正版软件分享 的提醒已修正。代码更新于2013年12月20日。