Prieigos prie tinklalapio ribojimas pagal IP

2014-12-22 10:05 (2014-12-22 10:18)

Norint užtikrinti tinklalapio saugumą, kartais tenka apriboti prisijungimą prie tinklalapio arba jo dalies. Kai per trumpą laiko tarpą išauga užklausų kiekis iš tam tikro IP arba daug kartų nesėkmingai bandoma prisijungti, galima įtarti, kad tinklalapį bandoma išlaužti. Kartais tokie veiksmai gali būti daromi ir be naudotojo žinios, pvz. virusuoto naudotojo kompiuterio atveju. Tokiais atvejais rekomenduojame užblokuoti prisijungimą prie svetainės įdedant pranešimą, dėl kokios priežasties tai buvo padaryta.

Kaip saugumo užtikrinimo būdą rekomenduojame apriboti prieigą prie tinklalapio iš tam tikrų IP. Taipogi šis apsisaugojimo nuo išlaužimo būdas tinka, kai bandoma daug kartų nesėkmingai prisijungti prie tinklalapio.

Norint apriboti prieigą prie VU žiniatinklio serveryje esančių svetainių rekomenduojame naudoti .htaccess failą. Kataloge, kurio prieigą norima apriboti, sukuriamas .htaccess failas. Jeigu norima užblokuoti prieigą prie visos svetainės, tokiu atveju failą reikia talpinti pagrindiniame kataloge. Į failą įrašomo teksto pavyzdys:

<IfModule mod_rewrite.c>

  RewriteEngine on

  RewriteCond %{REMOTE_ADDR} ^100\.100\.100\.100 [OR]

  RewriteCond %{REMOTE_ADDR} ^100\.100\.100\.10[5-9][OR]

  RewriteCond %{REMOTE_ADDR} ^100\.100\.100\.1[5-9][0-5]

  RewriteCond %{REQUEST_URI} !/alternate_page\.html$

  RewriteRule ^(.*)$ /alternate_page.html [R=302,L]

</IfModule>

 

Eilutėje RewriteCond %{REMOTE_HOST} ^100\.100\.100\.100 vietoje skaičių įrašomas norimas IP adresas.

Jeigu norima prieigą aproboti iš tam tikro rėžio IP adresų, tokiu atveju rėžis įtraukiamas į laužtinius sklaiustus. Pvz:

     RewriteCond %{REMOTE_ADDR} ^100\.100\.100\.10[0-9]

Apriboja adresus, kurių IP yra tarp 100.100.100.100 ir 100.100.100.109

Tokiu pačiu principu galima palikti prisijungimą tik iš vieno IP. Tai naudojama, kai norima, kad tinklalapyje esanti informacija būtų prieinama tik svetaines administratoriui ar panašiai.

Naudotojas, kurio IP yra užblokuotas,  matys informaciją, kuri yra faile alternate_page.html. Etkreipiame dėmesį, kad turi buti nurodomas pilnas kelias iki failo, nurodytame pavyzdyje failas yra pagrindiniame kataloge.