A. nginx网站目录怎样防止爬虫
方法一:修改nginx.conf
server{
listen80;
server_namewww.ready.com;
#添加如下内容即可防止爬虫
if($http_user_agent~*"qihoobot|Baispider|Googlebot|Googlebot-Mobile|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Feedfetcher-Google|Yahoo!Slurp|Yahoo!SlurpChina|YouBot|Sosospider|Sogouspider|Sogouwebspider|MSNBot|ia_archiver|TomatoBot"){return403;
}
方法2:网站更目录下增加Robots.txt
B. nginx日志如何只记录指定的几条url
Nginx不能像你说的那样指定记录指定的URL,但是Nginx是死的人是活的
1:可以在程序中手动记录(一般)
2:可以在该目录下的页面加个链接引导其他域名(记得加上标识),在启用日志记录就能获取(方便)
3:写个程序筛选指定的URL来显示(麻烦)
C. Linux/Nginx如何查看搜索引擎蜘蛛爬虫的行
1. 网络蜘蛛爬行的次数
cat access.log | grep Baispider | wc
最左面的数值显示的就是爬行次数。
2. 网络蜘蛛的详细记录(Ctrl C可以终止)
cat access.log | grep Baispider
也可以用下面的命令:
cat access.log | grep Baispider | tail -n 10
cat access.log | grep Baispider | head -n 10
只看最后10条或最前10条,这用就能知道这个日志文件的开始记录的时间和日期。
3. 网络蜘蛛抓取首页的详细记录
cat access.log | grep Baispider | grep “GET / HTTP”
网络蜘蛛好像对首页非常热爱每个钟头都来光顾,而谷歌和雅虎蜘蛛更喜欢内页。
4. 网络蜘蛛派性记录时间点分布
cat access.log | grep “Baispider ” | awk ‘{print $4}'
5. 网络蜘蛛爬行页面按次数降序列表
cat access.log | grep “Baispider ” | awk ‘{print $7}' | sort | uniq -c | sort -r
文中的Baispider 改成Googlebot都可以查看谷歌的数据,鉴于大陆的特殊性,大家应该对网络的log更为关注。
附:(Mediapartners-Google)Google adsense蜘蛛的详细爬行记录
cat access.log | grep Mediapartners
D. Linux/Nginx如何查看搜索引擎蜘蛛爬虫的行为
Linux shell命令
1. 网络蜘蛛爬行的次数
cat access.log | grep Baispider | wc
最左面的数值显示的就是爬行次数。
2. 网络蜘蛛的详细记录(Ctrl C可以终止)
cat access.log | grep Baispider
也可以用下面的命令:
cat access.log | grep Baispider | tail -n 10
cat access.log | grep Baispider | head -n 10
只看最后10条或最前10条,这用就能知道这个日志文件的开始记录的时间和日期。
3. 网络蜘蛛抓取首页的详细记录
cat access.log | grep Baispider | grep “GET / HTTP”
网络蜘蛛好像对首页非常热爱每个钟头都来光顾,而谷歌和雅虎蜘蛛更喜欢内页。
4. 网络蜘蛛派性记录时间点分布
cat access.log | grep “Baispider ” | awk ‘{print $4}'
5. 网络蜘蛛爬行页面按次数降序列表
cat access.log | grep “Baispider ” | awk ‘{print $7}' | sort | uniq -c | sort -r
文中的Baispider 改成Googlebot都可以查看谷歌的数据,鉴于大陆的特殊性,大家应该对网络的log更为关注。
附:(Mediapartners-Google)Google adsense蜘蛛的详细爬行记录
cat access.log | grep Mediapartners
Mediapartners-Google是什么呢?Google adsense广告之所以能与内容相关,因为每个包含着adsense的广告被访问后,很快就有个Mediapartners-Google蜘蛛来到这个页面,所以几分钟后再刷新就能显示相关性广告了,真厉害啊!
ps:linux下nginx如何启用网站日志,查看蜘蛛爬虫
默认的路径是你安装时候指定的
如果用的LNMP之类的安装包
你可以在SHELL下
whereisnginx
找到相应的路径之后
在NGINX下的CONF文件夹里看配置文件,日志文件如果记录了话
在配置文件里有路径的~
E. nginx如何分析是不是爬虫导致的
自己写的网站,不知道为啥总是有很多恶意访问的ip,根本不是正常的用户访问之前也有想过是否可能是运营商的代理服务器出口ip,但是看起来好像也不像,先不管,ban掉再说
那如何来ban呢,规则比较简单,就是超过一个阈值之后,就用下面的iptables命令
iptables -I INPUT -s -j DROP
service iptables save
service iptables restart
那如何统计nginx的访问ip呢,目前来说比较简单就是读取nginx的access.log文件,然后分析一下,如果一天超过阈值,我们就执行上面的命令,ban掉ip。
F. nginx 过滤非法请求 有access日志吗
nginx的log日志分为access log 和 error log
其中access log 记录了哪些用户,哪些页面以及用户浏览器、ip和其他的访问信息
error log 则是记录服务器错误日志
错误日志的形式如下:
201.158.69.116 - - [03/Jan/2013:21:17:20 -0600] fwf[-] tip[-] 127.0.0.1:9000 0.007 0.007 MX pythontab.com GET /html/test.html HTTP/1.1 "200" 2426 "http://a.com" "es-ES,es;q=0.8" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11"
187.171.69.177 - - [03/Jan/2013:21:17:20 -0600] fwf[-] tip[-] 127.0.0.1:9000 0.006 0.006 MX pythontab.com GET /html/test2.html HTTP/1.1 "200" 2426 "http://a.com" "es-ES,es;q=0.8" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11"
从上面我们可以看出几部分信息:
1.客户端(用户)IP地址。如:上例中的 201.158.69.116
2.访问时间。如:上例中的 [03/Jan/2013:21:17:20 -0600]
3.访问端口。如:上例中的 127.0.0.1:9000
4.响应时间。如:上例中的 0.007
5.请求时间。如:上例中的 0.007
6.用户地理位置代码(国家代码)。如:上例中的 MX(墨西哥)
7.请求的url地址(目标url地址)的host。如:上例中的 pythontab.com
8.请求方式(GET或者POST等)。如:上例中的 GET
9.请求url地址(去除host部分)。如:上例中的 /html/test.html
10.请求状态(状态码,200表示成功,404表示页面不存在,301表示永久重定向等,具体状态码可以在网上找相关文章,不再赘述)。如:上例中的 "200"
11.请求页面大小,默认为B(byte)。如:上例中的 2426
12.来源页面,即从哪个页面转到本页,专业名称叫做“referer”。如:上例中的 "http://a.com"
13.用户浏览器语言。如:上例中的 "es-ES,es;q=0.8"
14.用户浏览器其他信息,浏览器版本、浏览器类型等。如:上例中的 "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11"
其实nginx access日志的格式不是一成不变的,是可以自定义的。
在nginx的nginx.conf配置文件找到:log_format 这里就是日志的格式
看一下和上述日志匹配的log格式设置:
#access日志格式配置,具体参数不再细说,上面都已经说过了,自己对应一下即可
log_format main '$remote_addr - $remote_user [$time_local] '
'fwf[$http_x_forwarded_for] tip[$http_true_client_ip] '
'$upstream_addr $upstream_response_time $request_time '
'$geoip_country_code '
'$http_host $request '
'"$status" $body_bytes_sent "$http_referer" '
'"$http_accept_language" "$http_user_agent" ';
#配置access log日志的存储位置及文件,注意:access.log文件是可以按日期进行分割的,方便查看及处理
access_log /home/serversoft/nginx/log/access.log main;
G. nginx怎么过滤 站点某个文件日志
如果要过滤站点静态文件(jpg,gif,html..)目录写法是:
location ~ ^/images/ {
expires 4d;
}
如果如果要过滤.css结尾的文件,回可以写成
location ~ \.css$ {
expires 10d;
}
其它的文件过答滤与这类似,同时你也可以使用正则。记得配置完毕后要重启nginx才会生效。
。。
H. linux下nginx如何启用网站日志,查看蜘蛛爬虫
默认的路径是你安装时候指定的
如果用的LNMP之类的安装包
你可以在SHELL下
whereisnginx
找到相应的路径之后
在NGINX下的CONF文件夹里看配置文件,日志文件如果记录了话
在配置文件里有路径的~
I. 分析nginx日志怎么辨别哪些访问来自爬虫
不好分析,因为爬虫可以通过header来模拟浏览器
所以只能通过agent区分不同爬虫,
看这个爬虫爬取频率是否很像机器
一般都是通过页面js来获取请求 而不是Nginx全部日志
J. 如何过滤获得nginx访问日志中的来路为空的那些访问
s merits and prospects a kind of common conceof H