PHP通过301、302跳转站的方式简单进行防止镜像、劫持
- 2016-01-21 19:48:00
- admin 原创
- 2656
黑帽有一种手法就是做跳转站,把真实的网站进行隐藏, 只开放给谷歌、雅虎、必应等蜘蛛进行访问,
其他人访问时会直接跳转到目标站,目标找用来展现给实际的用户。
这种推站方法相当于是把原始站进行了隐藏,然后进行推广,除了爬虫蜘蛛,别人是无法获取到您网站的真实数据,自然也就无法进行镜像和劫持操作了。
下面这段代码简单的实现了对常用几种蜘蛛的跳转处理:
$useragent = strtolower($_SERVER['HTTP_USER_AGENT']); if (strpos($useragent, 'googlebot') !== false || strpos($useragent, 'yahoo') !== false || strpos($useragent, 'bingbot') !== false){ return; }else{ preventAccess301(); } // 301跳转模式 function preventAccess301() { Header("HTTP/1.1 301 Moved Permanently"); Header("Location: ".MY_SITE); exit(); } // 302跳转模式 function preventAccess302() { Header("Location: ".MY_SITE); exit(); }
使用方法:将以上代码放置于网站公共引用文件的最上面,即可生效。
备注:请求的useragent是可以伪造的,以上通过useragent进行判断只是最简单的示例,如果要达到100%的对蜘蛛进行识别的话,这个就需要后台对请求的ip进行预处理了,如果需要更安全的处理,可以联系我们的客服进行咨询。
发表评论