过期域名预定抢注

 找回密碼
 免费注册

Blog作者如何阻止惡意鏈接 轉

[複製鏈接]
發表於 2009-1-10 10:08:13 | 顯示全部樓層 |閱讀模式
禁止惡意評論者看起來是非常嚴厲的行為,但在禁止惡意評論者灌水的同時扔允許評論發表的方法也是有的。3 |( @, L  Z! z4 h

7 U8 }0 h1 Z( e: h+ O6 F* y大多數的惡意評論發佈者使用隨機IP地址。封掉他們的IP地址在一定程度上能阻止惡意鏈接,但同時也使得封掉合法用戶的幾率上升了。! G. ~% v5 L. R) h1 O
封惡意評論者的IP9 f. z3 G+ Q$ S
  M3 w) h3 }$ z9 [& \" Z* u
當評論發送至你的Blog時,IP地址就會包括在數據包中並隨著該評論發佈到因特網上。你可以把IP地址看作是電話號碼,而WordPress評論審核管理就像是來電顯示,你可以知道評論來自何處。
6 J! u8 D  f2 h, X5 `$ Z! Q" k! Q% d6 ^
惡意評論者的IP劫持手段早已惡名昭彰了,因此附帶惡意鏈接的IP地址實際上是從某個合法的因特網連接設備上竊取的。
( R0 [2 s- H9 `2 L# X, i1 B6 P2 D3 x, ^
如果你仔細觀察IP地址,你會注意到數字上僅存微小差異。如:: j6 k, Z7 J! s
192.168.0.1
. G7 M9 E2 E6 g  u, L% b192.168.0.2
- F% a1 c1 ?- |$ w192.168.0.3
: w: {6 E. d7 h" u& X! \8 J( Q; T9 ^/ B- H8 i2 w) g
以及其他相繼的或相似的數字排序。你可以通過制定1段或多段IP數字來向惡意評論語列表添加更簡單的IP地址,如192.168 -- 這樣任何以192.168開頭的IP地址將被看作惡意IP。這樣一來你就不用勞神輸入這麼多段數字了。請注意通配符IP數字的使用範圍,因為比如你只使用192.的話,就會將合法IP地址也拒之門外。
6 P3 {3 ^2 ^6 p3 |. P; r8 s' U' b, i! p2 v( q, e
.htaccess文件 - 它也能控制永久鏈接 - 可被用來某個IP地址完全阻止住,甚至無法在你網站上看到它。你可以將它放入網站root或Blog所在目錄之下。* D: C& X) a' y
. |: H5 h2 _3 s' G: s+ Y5 G" j( |
以下為.htaccess文件位於網站root目錄下的例子。% N2 J* [# K: ^. r/ m
order allow,deny
- J& I1 ^( S% e9 Ndeny from 123.123.123.123# F% u* ^7 r) J+ N' r
deny from 456.456.456.*
. \& w$ A: G$ ydeny from 789.789.*.*3 u# L  V: F* U/ f, _6 u% s! E
allow from all
! m* Z$ Z* h- `: `7 ?0 `" O禁止123.123.123.123  
6 m' _8 |7 I  L0 e僅禁止該IP ( \' |5 n" C, B, K- x) b- U
禁止456.456.456.*  
6 f9 F2 v8 a0 I禁止所有以456.456.456開頭的IP地址用戶3 N4 b6 P  p6 z8 v
禁止789.789.*.*  
+ Q% K4 o# u# y- `, A. i禁止所有以789.789開頭的IP地址用戶。
, B7 O9 K& B) R% V% Y4 K; {8 k, |: I+ O/ V; P+ E
因此能夠阻止256*256個IP地址) ~2 R9 j+ k, h
# i4 N% J. l% ?) n3 }
如果你開始阻止IP地址,被阻止的訪問者就能看到一個403錯誤頁面。請確保在該頁面上留下你的詳細聯繫方式。你可以詢問托管商定制403頁面內容的方法(也可以看後文)。$ f$ Z/ U* B% @
5 i- c' Z% J& ~5 l
如果你使用*通配符來阻止IP地址的話,至少留下你的聯繫方式,以防「錯斬賢臣」。
/ C. ~9 v' Z9 @  S" s) Y
1 W: n( m! s; I/ g! h$ ?如果你想確認確實能夠進行IP阻止的話,可以拿朋友的IP地址來做實驗,不過你得先告訴他們你正在做測試。8 t' V( i1 F5 t: j! [" W
禁止No Referrer請求 . ^* K9 J# z$ Y/ h$ Y

# A$ H3 T  M. d& T5 T& p, u當訪客進行評論時,wp-comments-post.php文件就會被訪問,完成其工作並創建日誌。用戶的瀏覽器則會發送一個有關於此的"referral"行。
5 o4 c1 q$ Q, T' p- b
# c. C2 }7 g8 l' n/ \當spam-bot進入時,它會直接點擊文件且不會留下一個referrer。這允許直接來自服務器的某些巧妙檢測和動作。如果你對Apache指令不太熟悉的話,可以在根目錄.htaccess 文件中寫入如下內容::9 f; f; J5 L0 l3 m$ X" u& [
RewriteEngine On
9 p& m* O6 B8 g% r- _+ ERewriteCond %{REQUEST_METHOD} POST7 V7 h- Z+ t# T( Z
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*/ z2 l, J" J4 x) f, `
RewriteCond %{HTTP_REFERER} !.*yourdomain.com.* [OR]
9 k& d( @! g6 C. g8 gRewriteCond %{HTTP_USER_AGENT} ^$9 T2 n: p/ i# ]( N6 w
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]0 L9 @) D# H  Y" j. h- U$ ]
( H, K5 V+ {1 ?' `$ j
這將:( i& A" d2 i" [* n  d0 @
檢測日誌創建時間% k. N: r/ w' b0 T7 M
檢測日誌是否在wp-comments-post.php上8 b3 f6 V3 ~# d( B, B
檢查referrer是否在你的domain中或是不存在referrer' ~- P' ~6 |7 n2 X  H
將spam-bot 送回生成它的服務器IP地址處。
+ J7 g3 q3 B" F1 C注1: 在第四行中,將yourdomain.com修改為domain.xxx,不要帶上www或其他前綴。 $ B/ p- e; V9 |- n8 c0 ~2 Z
注2: 某些用戶的瀏覽器可能無法發送referral,但這是非常罕見的。
& V# a/ ^7 h: C$ X# A9 w9 C: q( @) g" ]* U+ O
將spam-bot偏返是有必要的。: g: b2 g9 f+ u6 O, w

2 d- Z5 p! h& Q$ `: n! e技巧:如果你希望這樣而且也知道根目錄的路徑,可以如此:! S- f8 Q$ h5 G/ d, ~* B
RewriteEngine On) ?- g- X5 X3 l) N
RewriteLog /absolute/path/to/your/wwwroot/public_html/rewrite_log.txt! y; b$ C9 R* i/ F) P, y/ ~' B
RewriteLogLevel 2: e0 Q; D- x: s) x1 `6 Y! |- @
+ _% l3 ]' g& U
當激活了RewriteRule,你就會在rewrite_log.txt中得到類似如下的內容:0 F& _; {9 d6 p) ~
65.197.28.xxx- - [06/Feb/2005:10:59:34 --0500] [yourdomain.com/sid#80054890][rid#804b6a50/initial] (2)
$ z1 I9 g7 R! [$ s- c) X1 xinit rewrite engine with requested uri /wp-comments-post.php  E1 J- `& H5 U
65.197.28.xxx- - [06/Feb/2005:10:59:34 --0500] [yourdomain.com/sid#80054890][rid#804b6a50/initial] (2)
; P: m  v' k# [7 s- p4 }! C( Frewrite /press/wp-comments-post.php -> http://65.197.28.xxx/
) S4 }: ]9 E# _6 C6 s. y65.197.28.xxx- - [06/Feb/2005:10:59:34 --0500] [yourdomain.com/sid#80054890][rid#804b6a50/initial] (2) ( J+ J" k# a5 v& z! F
explicitly forcing redirect with http://65.197.28.170/
% H) T7 K6 H1 C8 T; _3 ?9 @7 a, Q  s65.197.28.xxx- - [06/Feb/2005:10:59:34 --0500] [yourdomain.com/sid#80054890][rid#804b6a50/initial] (1) 5 j$ W; f# v9 e
escaping http://65.197.28.xxx/ for redirect
3 f8 B6 w( x8 P0 W. Q65.197.28.xxx- - [06/Feb/2005:10:59:34 --0500] [yourdomain.com/sid#80054890][rid#804b6a50/initial] (1) . m' q3 w$ i1 R2 k# e$ b2 R
redirect to http://65.197.28.xxx/ [REDIRECT/301]# ?8 O' D# A2 d
取自真實的日誌5 ]& Z% a+ L2 }8 ?$ @" G
+ U3 `: D4 N, L, h" _  v
註:阻止IP地址很簡單,對利用受感染的機器來散佈惡意鏈接卻束手無策,原因有二:1. 機器原主人仍訪問該機器,通常是無辜的不應被阻止的用戶。2. 此類機器的數量之大並不是按IP地址進行阻止就能應付得了的。
您需要登錄後才可以回帖 登錄 | 免费注册

本版積分規則

點基跨境 數位編輯創業論壇

GMT+8, 2025-4-6 19:27

By DZ X3.5

小黑屋

快速回復 返回頂部 返回列表