kaxigt.com

Jag skriver om webben för webben

Blockera besökare/trafik via IP

Postad: 1 mars 2009 | .htaccess · Data & säkerhet | No Comments
Lästid: 2 minuter

Ibland kan man ofrivilligt hamna i otrevliga situationer. Det kan vara någon som messbombar gästboken, som besöker din sida och är allmänt otrevlig, eller helt enkelt inte är välkommen till dig. Hur ska du då göra för att stoppa vederbörande? Vi ska naturligtvis blockera personen, och vi gör det via IP. Följande kod är ett exempel på en IP adress, alltså ingen som jag personligen har att göra med. Varje kodsnutt ska ligga på en egen rad.

Denna post innehåller kod-snippar som du kan använda. Det är alltid bra att ta en backup av din stilmall och funktionsfil innan.
order allow,deny
deny from 123.45.6.7
deny from 123.45.6.
allow from all

IP 123.45.6.7 är blockerad
IP 123.45.6. innebär att alla subdomäner (123.45.6.1, 123.45.6.2, 123.45.6.3 osv) också är blockerade.

En alternativ kod är följande:

<files .htaccess>
order allow,deny
deny from all
</files>
deny from 123.45.6.7
deny from 123.45.6.

Blockera trafik via ”referrer” och ReWrite on

Du har säkert någon gång i dina loggar märkt att du verkar vara ovanligt ”länkad” från en speciell sajt, fast när du granskar detta så upptäcker du ingen länk. Då handlar det med all säkerhet om ”hotlinking” av filer, bilder och ibland hela stilmallar!

Många forum har dessutom medlemmar som friskt direktlänkar bilder. Vi ska gå igenom en speciell metod för att avstyra detta otyg. För att kunna använda detta tips måste din server vara utrustad med Apache module mod_rewrite – turligt nog är de allra flesta det.

För att blockera trafiken från en ensam referrer gör vi det med denna kod där ”badsite” byts ut till den domän du vill blockera:

RewriteEngine on
# Options +FollowSymlinks
RewriteCond %{HTTP_REFERER} badsite\.com [NC]
RewriteRule .* - [F]

Vill vi blockera trafiken från flera siter placerar vi denna kod istället, även här byter vi ut ”badsite” och ”anotherbadsite” till de domäner som ska blockeras:

RewriteEngine on
# Options +FollowSymlinks
RewriteCond %{HTTP_REFERER} badsite\.com [NC,OR]
RewriteCond %{HTTP_REFERER} anotherbadsite\.com
RewriteRule .* - [F]

Vi lägger till [NC] bakom den första domänen för att göra eventuella bokstäver ”case insensitive” – det vill säga att det spelar ingen roll om domännamnen stavas med gemener eller kapitäler. OR är precis vad det betyder, ELLER. [F] innebär att om vi får en träff med trafiken från de aktuella sajterna så kommer sidan 403 Forbidden att visas istället och vi slipper tjuvarna – tack och lov!