晚上睡不着,起来问大家一个问题 是的事实上可能是这样的你只要启动程序(有session_start()的),就会产生一个session_idcookie为sid随机数但取不到值,也不能通过验证 机器人访问和用户访问没有区别 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 看是不是机器人,可以看apache日志 可以用$_SERVER['HTTP_USER_AGENT']来判断,搜索引擎都都自己的名字,比如:google是"googlebot",baidu是"baiduspider",sohu是"sohu-search"等等 对于普通的,这些限制还有点效果,但是如果是恶意的爬虫就难办了,cookie,useragent都可以伪造,不过有点是比较肯定的,就是爬虫不会支持css和js,如果你有些特殊的保密数据建议用js加密:) 验证机器人的方法只能通过HTTP_USER_AGENT来判断。如果机器人支持了cooike,同样可以支持session,但是通常情况下,搜索蜘蛛都会向服务器发出一个正确的USER_AGENT,以区别自己的身份。相反,如果从HTTP_USER_AGENT判断不出来,那么也没有判断蜘蛛的其他方法。 就像jazzyfree 说的,可以看agent,通常都是这样的 Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)或者你用phpinfo看看也能发现很多能用的地方。主要都是看header。 就像jazzyfree 说的,可以看agent,通常都是这样的 Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)或者你用phpinfo看看也能发现很多能用的地方。主要都是看header。 看是不是机器人,可以看apache日志 给你代码好了function getrobot() { if(!defined('IS_ROBOT')) { $kw_spiders = 'Bot|Crawl|Spider|slurp|sohu-search|lycos|robozilla'; $kw_browsers = 'MSIE|Netscape|Opera|Konqueror|Mozilla'; if(preg_match("/($kw_browsers)/", $_SERVER['HTTP_USER_AGENT'])) { define('IS_ROBOT', FALSE); } elseif(preg_match("/($kw_spiders)/", $_SERVER['HTTP_USER_AGENT'])) { define('IS_ROBOT', TRUE); } else { define('IS_ROBOT', FALSE); } } return IS_ROBOT;} php防止刷新提交 [新手请教]PHP写入MySQL数据库的问题 一个关于上传文件MIME的小问题 问个Rewrite的规则,我搞了半天,还是不对 一个关于传地址的奇怪问题 做一个j2ee的网站,但是论坛用php来写,怎么样才能链接得好啊? 如何把查询到结果的PHP页面用邮件方式发送?? 类中的函数调用 PHP SQL 中文乱码 分享学习经历,高手请进来讲讲。up有分。 PHP在cygwin下编译安装出错 晕倒,不能理解phpmyadmin的配置,请大家指教
验证机器人的方法只能通过HTTP_USER_AGENT来判断。
如果机器人支持了cooike,同样可以支持session,
但是通常情况下,搜索蜘蛛都会向服务器发出一个正确的USER_AGENT,以区别自己的身份。
相反,如果从HTTP_USER_AGENT判断不出来,那么也没有判断蜘蛛的其他方法。
通常都是这样的 Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)或者你用phpinfo看看也能发现很多能用的地方。主要都是看header。
通常都是这样的 Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)或者你用phpinfo看看也能发现很多能用的地方。主要都是看header。
function getrobot() {
if(!defined('IS_ROBOT')) {
$kw_spiders = 'Bot|Crawl|Spider|slurp|sohu-search|lycos|robozilla';
$kw_browsers = 'MSIE|Netscape|Opera|Konqueror|Mozilla';
if(preg_match("/($kw_browsers)/", $_SERVER['HTTP_USER_AGENT'])) {
define('IS_ROBOT', FALSE);
} elseif(preg_match("/($kw_spiders)/", $_SERVER['HTTP_USER_AGENT'])) {
define('IS_ROBOT', TRUE);
} else {
define('IS_ROBOT', FALSE);
}
}
return IS_ROBOT;
}