IP címek engedélyezése – BlackY’s Guardian Angel


Honlapok tesztelési fázisánál, zárt tartalomnál, és még rengeteg esetben lehet hasznos, ha IP-cím alapján ki tudjuk szürni az illetéktelen látogatókat.
Ezt egy egyszerű ellenőrzéssel* (lásd 1. kód) is megoldhatjuk, ám van egy kicsit többet tudó megoldás: a BlackY’s Guardian Angel.

kód*

if(getenv(‘REMOTE_ADDR’) != ‘127.0.0.1’))
{
exit;
}

Egy ilyen kódot télleg nem nagy cucc beszúrni az oldal elejére, ám ez csak egy IP-címet figyel, és nincs lehetőség az IP-címek egyes részeinek maskolására.

Egy példa erre:
Azt akarjuk elérni, hogy csak a helyi hálózatról lehessen elérni egy oldalt. Ha az IP címek 192.168.0.1-től 192.168.0.254-ig vannak, akkor 254 ellenőrzést kéne végrehajtanunk.

A BGA-val ellenben elég felvinnünk egy IP maszkot: 192.168.0.X . Ezzel mindenki, akinek az IP-je 192.168.0-val kezdődik máris beengedtünk. Ezuánt még szépen másik pár száz IP címet vagy maszkot is felvihetünk.

Maga a program letölthető innen. Az üzembe helyezése nem nehéz, csak akkor kell a konfigurációs fájlba belenyúlni, ha az alap beállítások nem tettszenek nekünk. Ennek ellenére mindenképp érdemes ezeket végrehajtani, különben bárki hozzáférhet adatainkhoz!

A konfigurációs file (config.php) a következőkből áll:

kód

<?PHP
$cfg[‘filename’] = ‘ips.dat';
$cfg[‘admin_pass’] = ‘root';
$cfg[‘document_dir’] = ‘html';
$cfg[‘front_page’] = ‘index';
$cfg[‘cookie_name’] = ‘bga_admin_pass';
$cfg[‘log_file’] = ‘log.dat';

Ebből az filename annak a fájlnak a neve, amelyekben az engedélyezett IP címeket tároljuk.
Az admin_pass az adminisztrációs menü eléréséhez szükséges jelszó.
A document_dir annak a könyvtárnak a neve, ahol htm, html és php kiterjesztésű filejaink vannak. (A program ezeket támogatja. Ajánlott a képeket/zenéket és egyéb letölthető fileokat másik könyvtárba rakni, ezzel is növelve a biztonságot!)
A front_page a kezdő oldalunkat adja meg KITERJESZTÉS NÉLKÜL!
A cookie_name annak a sütinek a neve, amelyikben az admin felületre való bejelentkezés után a jelszót tárolja a progi.
A log_file annak a filenak a neve, amelyikbe a napló készül.

Mint mondtam a védeni kívánt htm, html, és php fájljainkat mindenképp a document_dir-nél megadott könyvtárba helyeznünk, ezenkívűl a html mappából az admin mappát kell átmásolnunk az új document_dir-be.

Ezután menjünk el a http://oldalunk_cime.hu/index.php?bga_page=admin címre, ahol bejelentkezés után vihetünk fel IP-címeket, és törölhetjük azokat, vagy tekinthetjük meg a logokat.

A védett dokumentumokban a linkelést egy kicsit módosítanunk kell. Tegyük fel, hogy az egyik fileban a link eddig a javascript.html filera mutatott. Ezentúl ezt az index.php?bga_page=javascript címen érhetjük el.

Természetesen a bga_page változóba a file névnél nem kell kiterjesztés, és mint már említettem csak html, htm és php fileokat kell így belinkelnünk, és használhatunk elérési utat is (pl.: bga_page=javascript/alert -> ez a javascript könyvtárban levő alert.html htm vagy php filet adja be)

A képek src tagjának megadásakor figyeljünk arra, hogy egy szintel lentebb vagyunk valójában, mint a file, amibe beszúrtuk…

Szerző: BlackY

Kapcsolódó bejegyzések:
  • A Harder által írt megoldás is tökéletesen működik, ám van egy szépséghibája: minden egyes új tiltott IP-nél bele kell nyúlni a kódba. Ezért összedobtam egy ki …

  • Ma belefutottam egy problémába: mi van akkor, ha otthoni kis házi szerverünk van, és regisztrálunk hozzá egy domain-t pl. a www.no-ip.com-on. Egyszerű az eset: a …

  • Az alábbi egyszerű kis kódot kell a PHP fájlod forráskódjába illesztenedbeillesztendő kód<?$ip = getenv(‘REMOTE_ADDR’); $ip1 = “xxx.xxx.xxx”; $ip2 = …

  • Íme egy nagyon egyszerű szkript oldalaink jelszavas védelmére. Ha például az index.html oldalunkat akarjuk védetté tenni, akkor hozzunk létre egy index.php fálj …

  • Weblap tervezésénél az egyik legfontosabb dolog az átláthatóság. Ennek egyik alapeleme az, hogy a különböző dolgokat ABC sorrendben írjuk ki… Én ma belefutott …

A cikket beküldte: BlackY ()

1 hozzászólás

  1. gyuri says:

    Szia ezt hogy érted? (ám van egy kicsit többet tudó megoldás: a BlackY’s Guardian Angel.) mert próbáltam rákeresni de nem találtam semmit erről.

Szólj hozzá
a IP címek engedélyezése – BlackY’s Guardian Angel c. bejegyzéshez

- Engedélyezett HTML elemek: <a> <em> <strong> <ul> <ol> <li>
- Forráskód beküldéséhez tedd a kódot ezek közé: <pre lang="php" line="1">Kódrészlet helye itt</pre>