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