过期域名预定抢注

 找回密碼
 免费注册

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

[複製鏈接]
發表於 2009-1-10 10:08:13 | 顯示全部樓層 |閱讀模式
禁止惡意評論者看起來是非常嚴厲的行為,但在禁止惡意評論者灌水的同時扔允許評論發表的方法也是有的。9 s8 f' M3 o* U7 k

" |7 z! i7 [$ x' B8 Q) i大多數的惡意評論發佈者使用隨機IP地址。封掉他們的IP地址在一定程度上能阻止惡意鏈接,但同時也使得封掉合法用戶的幾率上升了。- \# H  {; @; j, ^4 S4 ~* u
封惡意評論者的IP
' Z5 `" @+ ?# b! J& _- P+ [# s# g) ^4 p2 I- V" {
當評論發送至你的Blog時,IP地址就會包括在數據包中並隨著該評論發佈到因特網上。你可以把IP地址看作是電話號碼,而WordPress評論審核管理就像是來電顯示,你可以知道評論來自何處。
) Y( r3 K0 ^- Y+ b7 r, d- W
' |: j* x& ?4 m' `& z惡意評論者的IP劫持手段早已惡名昭彰了,因此附帶惡意鏈接的IP地址實際上是從某個合法的因特網連接設備上竊取的。
0 V, n, A% I( ]2 k6 J" h, y% A. ^' d! j& Q
如果你仔細觀察IP地址,你會注意到數字上僅存微小差異。如:
# Q! D7 c" P. A" E! I' ]! o192.168.0.1
) k7 O0 ]- r( |0 ~7 V  p1 q192.168.0.2
; o2 l9 `" a5 i' Z% |192.168.0.3
+ i0 I, F; X2 a$ ^# o4 g, N8 m+ f) P, V& t$ z2 d
以及其他相繼的或相似的數字排序。你可以通過制定1段或多段IP數字來向惡意評論語列表添加更簡單的IP地址,如192.168 -- 這樣任何以192.168開頭的IP地址將被看作惡意IP。這樣一來你就不用勞神輸入這麼多段數字了。請注意通配符IP數字的使用範圍,因為比如你只使用192.的話,就會將合法IP地址也拒之門外。8 P) d% S: }$ h0 V/ N. B  |

# P# I8 ]+ w; w3 n6 E.htaccess文件 - 它也能控制永久鏈接 - 可被用來某個IP地址完全阻止住,甚至無法在你網站上看到它。你可以將它放入網站root或Blog所在目錄之下。0 r4 ?7 m2 B& X3 y

( R. J1 ?- j) a* Q7 Z* M以下為.htaccess文件位於網站root目錄下的例子。3 k# x* Q, M& f" `6 R. Q  H7 r/ R
order allow,deny
3 e7 I: r. ~  s% S. Vdeny from 123.123.123.123
8 Y1 h' Y9 b2 O( H' ^deny from 456.456.456.*$ ^  e4 p& ]. V2 @3 |" x5 e
deny from 789.789.*.*5 f2 V& }# M( t, C/ e
allow from all
0 F9 m( z: S, o- Q: |禁止123.123.123.123  0 o. f$ T* K( d6 @/ c
僅禁止該IP
5 r  N  Q! p! t* N禁止456.456.456.*  
2 w# [8 t# m+ q/ [$ d禁止所有以456.456.456開頭的IP地址用戶7 P1 |' ?7 \% k( Z& v* v
禁止789.789.*.*  
- ~( v, p! B8 z- w. O禁止所有以789.789開頭的IP地址用戶。) Y* R- r5 S$ P2 u* d

: T% F) j& y' h1 s因此能夠阻止256*256個IP地址9 o; U% u0 O5 \+ O3 X; B. s) R

+ q% u' t9 U: G4 c9 G, {% m1 b如果你開始阻止IP地址,被阻止的訪問者就能看到一個403錯誤頁面。請確保在該頁面上留下你的詳細聯繫方式。你可以詢問托管商定制403頁面內容的方法(也可以看後文)。" p) B, p& W3 m+ V; L* B

, s! t- q, ]3 e# {如果你使用*通配符來阻止IP地址的話,至少留下你的聯繫方式,以防「錯斬賢臣」。# ]/ O3 R  ^4 K3 X& H5 |

9 @, e0 d: Q5 x; Q$ @3 ]$ W如果你想確認確實能夠進行IP阻止的話,可以拿朋友的IP地址來做實驗,不過你得先告訴他們你正在做測試。
; G* A! T/ L# p, m: |7 v9 a禁止No Referrer請求 - c( b4 l6 ^  _+ s& `( z

' z" u% E3 G8 L" H當訪客進行評論時,wp-comments-post.php文件就會被訪問,完成其工作並創建日誌。用戶的瀏覽器則會發送一個有關於此的"referral"行。+ [4 ]# Q/ R" U) d5 {
& z) |7 o, c1 e: G/ A9 ?
當spam-bot進入時,它會直接點擊文件且不會留下一個referrer。這允許直接來自服務器的某些巧妙檢測和動作。如果你對Apache指令不太熟悉的話,可以在根目錄.htaccess 文件中寫入如下內容::
+ ]6 X& `. Z" Z4 `# l: |; }RewriteEngine On
, A! P' h  Q- @- NRewriteCond %{REQUEST_METHOD} POST$ W) n1 A" L. ?/ ]+ I
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
. i) N2 f* D$ sRewriteCond %{HTTP_REFERER} !.*yourdomain.com.* [OR]
4 P2 g8 Z% W* `$ N$ U7 j, {' hRewriteCond %{HTTP_USER_AGENT} ^$
" E4 o& D% A+ f: S, ERewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]7 e$ B: p0 t9 l

' ?6 T7 j: G; F+ o) E- Q這將:
: ~# v3 C" X0 I1 C0 ^- a檢測日誌創建時間5 ?1 {+ t  q( Q& j& E
檢測日誌是否在wp-comments-post.php上! u( l% @! J  ^1 }
檢查referrer是否在你的domain中或是不存在referrer
% H0 Z. d" {' \: N- H/ Y) }將spam-bot 送回生成它的服務器IP地址處。
/ t& v3 O) w3 o注1: 在第四行中,將yourdomain.com修改為domain.xxx,不要帶上www或其他前綴。 - B# }; ~  I. I& l1 V6 \2 U* \; ]
注2: 某些用戶的瀏覽器可能無法發送referral,但這是非常罕見的。
) w. t. F  E# |/ Y6 |/ f9 _& M
& M  L+ w, e: z. D' y將spam-bot偏返是有必要的。
% k8 G2 j. J( Y7 b# N
. L1 C: G; Z: F+ c+ s技巧:如果你希望這樣而且也知道根目錄的路徑,可以如此:
) L  c1 T: H; D& ~+ LRewriteEngine On
, \( ^. _( U& W: w7 G) u+ e/ Q; TRewriteLog /absolute/path/to/your/wwwroot/public_html/rewrite_log.txt+ D: z7 q3 W% s1 z# c& R, u$ U+ q
RewriteLogLevel 2
  R7 x5 h; s5 E  K/ d5 q# F9 P& c$ D1 E! N  P
當激活了RewriteRule,你就會在rewrite_log.txt中得到類似如下的內容:
7 ]( \; j& H0 g; C65.197.28.xxx- - [06/Feb/2005:10:59:34 --0500] [yourdomain.com/sid#80054890][rid#804b6a50/initial] (2)
& H" V+ u0 Y# pinit rewrite engine with requested uri /wp-comments-post.php
! R: d! \0 h4 F1 t2 D65.197.28.xxx- - [06/Feb/2005:10:59:34 --0500] [yourdomain.com/sid#80054890][rid#804b6a50/initial] (2) 5 @% E# v  ~7 U: ^) H% p$ `7 g
rewrite /press/wp-comments-post.php -> http://65.197.28.xxx/* ~% `( [% R  R$ }. k  H
65.197.28.xxx- - [06/Feb/2005:10:59:34 --0500] [yourdomain.com/sid#80054890][rid#804b6a50/initial] (2)
; B- F0 K9 h6 y: |! eexplicitly forcing redirect with http://65.197.28.170/
6 n( g3 S+ f  F7 o0 G, f65.197.28.xxx- - [06/Feb/2005:10:59:34 --0500] [yourdomain.com/sid#80054890][rid#804b6a50/initial] (1) 9 R7 x5 h" S  n" o# t
escaping http://65.197.28.xxx/ for redirect
5 R$ [) ?* N  F+ Y/ z. u65.197.28.xxx- - [06/Feb/2005:10:59:34 --0500] [yourdomain.com/sid#80054890][rid#804b6a50/initial] (1)
9 c$ n( [/ d2 O4 n9 ~; vredirect to http://65.197.28.xxx/ [REDIRECT/301]
- s& f; l" s5 H取自真實的日誌
6 `) \9 n3 q. U4 E& T) j- A: y
' R6 @6 z) S: p6 N, V4 g註:阻止IP地址很簡單,對利用受感染的機器來散佈惡意鏈接卻束手無策,原因有二:1. 機器原主人仍訪問該機器,通常是無辜的不應被阻止的用戶。2. 此類機器的數量之大並不是按IP地址進行阻止就能應付得了的。
您需要登錄後才可以回帖 登錄 | 免费注册

本版積分規則

點基

GMT+8, 2026-8-28 01:20

By DZ X3.5

小黑屋

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