PHP防止站外提交,禁止直接访问的方法
最近笨牛网的搜索系统估计被人给加入了刷外链的自动提交系统,每天都会增加几百个域名搜索词出来,分析了服务器日志发现,都是直接提交的,因此就研究了下如何禁止站外直接提交数据。这里总结了以下方法,经过测试有效的遏制了站内搜索被刷爆的隐患。
1.禁止直接访问+禁止站外提交
<?php
function check_urlcome(){
$myurl=$_SERVER['SERVER_NAME'];
if(isset($_SERVER['HTTP_REFERER'])){
$url1=explode('://',$_SERVER['HTTP_REFERER']);
$url2=explode('/',$url1[1]);
if($myurl!=$url2[0]){
echo '您的链接来源似乎不是本站的链接,<a href="http://www.bnxb.com">请点这里返回本站首页!www.bnxb.com</a>';
exit();
}
}
else{
echo '禁止直接访问此页,<a href="http://www.bnxb.com">请点这里返回本站首页!www.bnxb.com</a>';
exit();
}
}
check_urlcome();
?>
2.禁止站外提交
<?php
function check_urlcome(){
$myurl=$_SERVER['SERVER_NAME'];
if(isset($_SERVER['HTTP_REFERER'])){
$url1=explode('://',$_SERVER['HTTP_REFERER']);
$url2=explode('/',$url1[1]);
if($myurl!=$url2[0]){
echo '您的链接来源似乎不是本站的链接,<a href="http://www.bnxb.com">请点这里返回本站首页!www.bnxb.com</a>';
exit();
}
}
}
check_urlcome();
?>
3.禁止直接访问
<?php
function check_urlcome(){
$myurl=$_SERVER['SERVER_NAME'];
if(!isset($_SERVER['HTTP_REFERER'])){
echo '禁止直接访问此页,<a href="http://www.bnxb.com">请点这里返回本站首页!www.bnxb.com</a>';
exit();
}
}
check_urlcome();
?>
- 最新评论