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