RkBlog

Hardware, programming and astronomy tutorials and reviews.

Zabezpieczanie strony za pomocą .htaccess

Plik .htaccess to (ukryty) plik interpretowany przez serwer Apache. Za jego pomocą sterujemy rozszerzeniami tego serwera (np. mod_rewrite) oraz możemy banować IP, ograniczać dostęp do strony itp. Po wysłaniu pliku .htaccess do katalogu ze stroną może ci się nie pokazać... w opcjach klienta FTP musisz zaznaczyć by pokazywał ukryte pliki. Dla Total Commandera - Sieć -> pokazuj ukryte pliki.
  • Banowanie, ograniczanie dostępu itp.
    Stwórz plik .htaccess o takiej treści:
    <Files .htaccess>
    order allow,deny
    deny from all
    </Files>
    
    i wyślij go do katalogu ze stroną... UWAGA: jeżeli wchodząc na jakąś stronę w tym katalogu dostajesz "Interial Server Error" to oznacza że serwer NIE obsługuje plików .htaccess (może się zdarzyć na "darmowych" serwerach). Powyższy kod uniemożliwia zobaczenie treści pliku .htaccess. Jest to podstawa gdy mamy zamiar użyć go do "ochrony" strony. Plik ten powinien mieć chmod 644.
    Teraz jeżeli masz stałe IP (nie modem itp.) to możesz zablokować dostęp np. do pliku admina - przyjmijmy admin.php:
    <Files admin.php>
    order allow,deny
    allow from 127.0.0.1
    </Files>
    
    Dostęp do pliku ma tylko osoba z IP 127.0.0.1 (wstawiasz własne - stwórz plik 1.php o kodzie
    <?PHP echo $_SERVER['REMOTE_ADDR']; ?>
    
    odpal w przeglądarce to zobaczysz swoje ip). Jeżeli masz zmienne IP to możesz podać początek IP, który nie (powinien) zmienia się. Np:
    <Files admin.php>
    order allow,deny
    allow from 127.0.
    </Files>
    

    Banowanie określonych IP czyli ograniczanie dostępu do całej strony robimy tak:
    Order Allow,Deny 
    Allow from all 
    Deny from 127.0.0.1
    Deny from 128.0.0.1
    Deny from 129.0.0.1
    
    Podane IP nie zostaną dopuszczone. Możesz wrzucić do swojego .htaccess taki zestaw banów na starcie:
    Order Allow,Deny 
    Allow from all 
    
    Deny from 12.148.209.196
    Deny from 12.175.0.35
    Deny from 12.222.95.33
    Deny from 128.208.4.118
    Deny from 128.255.244.87
    Deny from 128.84.98.173
    Deny from 129.44.123.12
    Deny from 137.118.240.180
    Deny from 140.247.60.123
    Deny from 141.156.149.234
    Deny from 141.156.35.62
    Deny from 146.203.20.245
    Deny from 157.130.53.242
    Deny from 193.95.111.138
    Deny from 194.102.56.130
    Deny from 195.222.1.154
    Deny from 195.251.235.67
    Deny from 195.9.126.226
    Deny from 198.64.149.243
    Deny from 200.69.248.64
    Deny from 203.124.153.237
    Deny from 203.199.124.111
    Deny from 204.92.59.152
    Deny from 205.225.207.186
    Deny from 205.225.207.190
    Deny from 206.145.80.235
    Deny from 206.169.2.194
    Deny from 207.164.34.59
    Deny from 208.179.49.21
    Deny from 209.120.234.
    Deny from 209.152.43.249
    Deny from 209.167.50.22
    Deny from 209.234.157.107
    Deny from 210.200.105.
    Deny from 211.152.14.
    Deny from 211.157.8.44
    Deny from 211.99.
    Deny from 213.186.38.67
    Deny from 213.252.152.13
    Deny from 213.42.2.
    Deny from 213.56.44.118
    Deny from 216.157.225.36
    Deny from 216.185.57.
    Deny from 216.46.79.46
    Deny from 216.74.173.209
    Deny from 217.162.212.174
    Deny from 217.171.172.7
    Deny from 217.22.62.69
    Deny from 217.227.37.62
    Deny from 217.37.100.141
    Deny from 217.43.212.22
    Deny from 217.73.165.40
    Deny from 218.13.195.230
    Deny from 218.30.13.176
    Deny from 218.93.5.48
    Deny from 218.93.6.227
    Deny from 218.93.7.43
    Deny from 219.129.179.
    Deny from 220.73.165.76
    Deny from 24.107.14.244
    Deny from 24.126.19.6
    Deny from 24.136.55.144
    Deny from 24.153.151.50
    Deny from 24.153.151.51
    Deny from 24.161.201.195
    Deny from 24.173.210.90
    Deny from 24.173.79.238
    Deny from 24.194.153.236
    Deny from 24.243.39.114
    Deny from 24.248.74.254
    Deny from 4.43.126.10
    Deny from 61.173.9.203
    Deny from 61.177.
    Deny from 61.177.77.168
    Deny from 61.178.85.117
    Deny from 62.119.133.
    Deny from 62.177.137.205
    Deny from 62.194.0.71
    Deny from 62.194.118.54
    Deny from 62.194.67.18
    Deny from 62.194.7.89
    Deny from 62.194.86.81
    Deny from 62.252.192.11
    Deny from 62.254.128.7
    Deny from 63.231.82.207
    Deny from 64.140.49.67
    Deny from 64.140.49.68
    Deny from 64.140.49.69
    Deny from 64.231.195.107
    Deny from 64.56.225.45
    Deny from 64.81.88.11
    Deny from 65.172.164.2
    Deny from 65.93.130.29
    Deny from 65.95.158.205
    Deny from 65.95.33.209
    Deny from 66.119.128.66
    Deny from 66.183.223.233
    Deny from 66.21.128.30
    Deny from 66.214.102.7
    Deny from 66.215.16.3
    Deny from 66.27.146.58
    Deny from 66.68.64.207
    Deny from 66.96.238.245
    Deny from 66.98.136.28
    Deny from 67.113.198.63
    Deny from 67.68.196.209
    Deny from 67.84.9.127
    Deny from 67.96.63.103
    Deny from 67.96.63.116
    Deny from 68.109.140.254
    Deny from 68.192.120.178
    Deny from 68.36.192.74
    Deny from 68.39.132.160
    Deny from 68.7.115.241
    Deny from 69.15.60.42
    Deny from 69.162.182.209
    Deny from 69.28.130.229
    Deny from 69.28.130.230
    Deny from 69.28.130.231
    Deny from 69.31.79.226
    Deny from 69.44.60.201
    Deny from 69.46.135.17
    Deny from 69.48.94.231
    Deny from 80.129.214.179
    Deny from 80.218.77.179
    Deny from 81.186.53.253
    Deny from 81.199.83.26
    Deny from 81.57.110.146
    Deny from 82.166.132.
    Deny from 82.166.132.74
    Deny from 82.193.64.21
    Deny from 82.195.131.177
    Deny from 83.116.38.172
    
    To jest lista podejżanych pająków internetowych (ciągną strony dla transferu, szukają maili itd) opublikowana przez jednego z użytkowników forum webproworld. U mnie przez pięć dni pojawiło się jedno z tych IP i był to jakiś boot, który trochę pobuszował... Używając np. mojego skryptu statystyk (PHP) możesz wykryć jeszcze inne nie-polskie pająki nie powiązane z żadną wyszukiwarką. Możesz je śmiało banować.
    RewriteEngine on
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://(www.)?twojadomena.com/.*$ [NC]
    RewriteRule .(gif|jpg)$ - [F]
    
    Tutaj wykorzystujemy mod_rewrite (generalnie nie ma go na darmowych serwerach) by uniemożliwić linkowanie do naszych grafik (gif|jpg) z innych stron. Musimy podać tylko adres naszej strony.
    RkBlog

    Podstawy tworzenia stron www, 11 July 2008, Piotr Maliński

  • Comment article