PHP检测是否是本站内部提交
常见的留言系统,如果站点本身没有设置提交限制的话可能会被一些专发垃圾信息的“机器人”盯上,这样的话站点可能短期内就积聚大量的垃圾信息。还有论坛等。总之需要公开留言的地方就应该设置一个基本的限制,那就是只允许站点提交信息,不允许从外部提交,这样可以从一定程序上来防止垃圾信息的产生。当然有些也是从安全方面来考虑,比如用户登录,如果不限制外部登录可能密码会有被破解的可能。
下面来介绍一种利用PHP来实现检测外部提交的方法。代码如下:
//====================================================
//检测是否是本站内部提交(返回true或false)
//====================================================
function External(){
$Host1 = strtolower($_SERVER['SERVER_NAME']); //当前站点域名
$Host2 = strtolower($_SERVER['HTTP_REFERER']); //上一页完整Url
$Host2 = parse_url($Host2); //解析Url
$Host2 = $Host2['host']; //获取上一页域名
if ($Host1==$Host2){return true;} else {return false;}
}
当数据是从内部提交的函数就返回true,如果不是从内部提交就直接返回false。使用上很方便,只需要在需要检测的地方调用External()即可。
更新时间:2010-6-17
|