搜索
Hi~登录注册
查看: 1078|回复: 0

wordpress评论链接转跳的一些思考:判断链接来源的合法性 |wordpress教程

[复制链接]

1892

主题

1899

帖子

6406

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6406
发表于 2015-4-15 15:21:14 | 显示全部楼层 |阅读模式
上一篇文章《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日。
公众微信:idc5ahl
公众QQ:吾爱互联
关注公众微信,公众QQ每天领现金卡密
卡密介绍(http://www.5ahl.com/thread-2182-1-1.html
回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 点我注册

快速回复 返回顶部 返回列表