| start Webszerkesztés egyéb PHP alapú megoldások HTTP Autentikáció PHP-val |
| A kereséshez kattints a fentebb látható mezőbe > írd be a keresett kifejezést majd nyomj egy ENTER-t. FRISS FÓRUMTÉMÁK offtopic III. [BlackY] Egyéni rajzok saját 5let alapján III. [CeleronMaster] Emotikon hetek [Halfbreed] Joomla! (Mambo 4.5.x) [LeGaS] Help! [Mozaik] Segítséget kérnék [LeGaS] Hálózat [Flatron] Általános kérdések [Tirion] Php-s Probléma... [unduruxi] SMF [hitetlen] LAPAJÁNLÓ http://web-solution.hu kiemelkedően jó tárhelyszolgáltatás (tapasztalatok alapján) RSS / META STATISZTIKA |  |
HTTP Autentikáció PHP-val |  |
Írta: BlackY
A fórum SEGÍTSÉG topicjában merült fel a kérdés, hogy hogyan lehetne egyszerűen - minimális PHP ismerettel - jelszóval védeni egy oldalt. Zsola barátunk egy jóval ezelőtti hozzászólásában írt egy módszerről, amivel a "htaccess-es" védelmet (ez a basic HTTP autentikáció) lehet egyszerűen emulálni PHP-val. Egy kicsit továbbgondolva, továbbfejlesztve, immár admin felülettel letölthető egy teljesen kész megoldás. A szkript 3 különböző fileból áll, egy "közös" konfigurációs file, egy adminisztrációs felület, és maga az azonosító kód. Annak ellenére, hogy a felhasználóneveket és jelszavakat MySQL adatbázisból szedi ki, nincs hozzá SQL file csatolva, mivel a megfelelő táblát az admin felület automatikusan létrehozza, amennyiben az nem létezik. A szkript működésre bírásához össz-vissz egy könyvtárat kell létrehoznunk, és módosítanunk a konfigurációs fájlt ("tha_config.php"). Utóbbihoz egy kis segítség:
Paraméter | Mit állít be
host | A MySQL szever neve Ez fizetős tárhelyen, és sajátgépeken általában localhost FreeWeb-en sql Ultraweb-en sql1.ultrweb.hu és sql5.ultraweb.hu között változik A többi Free tárhelyról nem tudok mit írni, valahol biztos fel van tüntetve az admin felületen
User | A MySQL-hez tartozó felhasználóneved Fizetős szerveren a rendszergazda adja meg (ha nem adta kérd el tőle! :) ) Free helyen általában ugyanaz, mint a regisztráláskor használt felhasználónév
Pass | A MySQL adatbázis eléréseh szükséges jelszavad Ezt is elkérheted a Rendszergazdától, vagy ingyenes helyeken az adminisztrációs felületen megnézheted
Name | A MySQL adatbázis neve Fizetős szerveren a rendszergazda adja meg Free helyen általában ugyanaz, mint a regisztráláskor használt felhasználónév
Message | Azt az üzenetet adhatod meg vele, amit akkor kell kiírni, ha nincs felhasználóneve / jelszava, és nem található a hibalap (erről később)
Adm_name | Az adminisztrációs felület eléréséhez szükséges felhasználónév
Adm_pass | Az adminisztrációs felület eléréséhez szükséges jelszó
Docs | Annak a könyvtárnak a neve, amiben a védeni kívánt fájlokat tárolod. (És remélhetőleg pár sorral fentebb hoztál létre :) )
Realm | Azt a szöveget adja meg, ami megjelenik a felhasználó és jelszót kérő ablakon.
Ha minden igaz, és eljutottál idáig, akkor valószínűleg már van egy - remélhetőleg jól - beállított konfigurációs fájlod és egy könyvtárad. Ebbe a könyvtárba jöhetnek azok a fájlok, amiket le akarsz védeni. Van 3 kiemelt fájlnév, amelyet NAGYON ajánlott létrehozni:
Fájlnév | Mi az
index.html vagy index.php | A védett felület nyitólapja. Ez jön be, ha a linkben nincs megadva, hogy melyik fájlt szeretné a felhasználó megtekinteni.
404.html | Ez a file jelenik meg, ha a lekért oldal nem található és nincs index oldalad (ha van index oldal, és nem található egy lekért oldal, akkor az index jelenik meg). A neve az erre a problémára vonatkozó HTTP hibaszámból jön (404 - Not Found). Ha nem létezik a 404.html, akkor egy "A keresett file nem található, ráadásul a nyitó oldalt se találtam!" hibaüzenet jelenik meg
503.html | Ez a file jelenik meg, ha nem sikerült az azonosítás. Ha nem létezik, akkor a konfiguráció fájlban megadott hibaüzenet jelenik meg. |
Amennyiben védett tartalomra akarsz linket elhelyezni, a következőképp járj el: 1.Ne magára a fájlra hivatkozz, hanem a secure.php-re (vagy amire átnevezted, mert ezt nyugodtan megteheted :) - Ez legyen igaz a védett képekre és egyéb kiegészítő dolgokra, különben a védelem megszűnik, ha egy picit is okos ember próbálja hackelni a rendszert... 2.A linkbe tegyél bele egy page változót, aminek az értéke a kért fájlnév legyen. Pl.: page=valami.html az index.html-t fogja lekérni. Ha nem adod meg a page változót, akkor az index.html vagy index.php lesz behívva. =Kiegészítés: A filnév UNIX rendszereken case-sensitive (kis- és nagybetűk különböznek!), így ajánlott erre is figyelni) A fentiek alapján egy linknek így kell valahogy kinéznie: secure.php?page=fileneve.filekiterjesztése Ha elkészültünk oldalainkkal, az összes linkelés ellenőriztük, beállítottunk mindent a konfigurációs file-ban, töltsük a fileokat és a könyvtárat a szerverre, és böngészőnkkel nyissuk meg az admin.php-t. Vigyünk fel egy felhasználót, és próbáljuk ki új azonosító rendszerünket :) Frissítés Felmerült a kérdés, hogy lehetne-e valahogy engedélyezni oldalunk látogatóinak, hogy regisztrálják magukat a lezárt rész eléréséhez. Igen, lehet... :) Ennek megvalósítására újabb szkript készült, amit az eredeti csomagba biztonsági szempontokat figyelembe véve nem tettem be, mivel egy véletlenül szerveren felejtett regisztráló fájlal egyszerűen lehetne nézni a lezárt tartalmat. A kiegészítő csomag innen tölthető le. Ezt a fájlt egyszerűen töltsük fel a másik három azonosító php fájlunk mellé (tha_config, secure.php, admin.php) és a "nyitott" oldalunkra helyezzük el a következő kódot oda, ahol engedélyezni szeretnénk a regisztrálást: <form action="reg.php" method="post"> Felhasználónév: <input type="text" name="username" /> <br /> Jelszó: <input type="password" name="password" /> <br /> <input type="submit" value="Regisztrálok" /> </form> (Természetesen saját módszerrel is eljuttathatjuk az adatokat a reg.php fájlhoz, a lényeg, hogy POST-oljuk őket, és a két adat neve username és password legyen) Ezután a tha_config.php fájlban megadott $docs könyvtárba rakjunk be két fájlt: reg_ok.html és reg_fail.html. Előbbi akkor jelenik meg, ha a regisztráció sikeres, utóbbi akkor, ha nem. A reg_fail.html fájlba érdemes beleírni, hogy milyen okok miatt lehet sikertelen a regisztráció: 1.A felhasználónév és/vagy jelszó nincs megadva, vagy üres 2.A megadott felhasználónév már létezik az adatbázisban Tipp: A reg_ok.html fájlban érdemes elhelyezni egy <a href="secure.php">Belépés</a> szöveget, mert így a felhasználók könnyebben tájékozódhatnak az oldalon. Remélem minden világos, amennyiben bármilyen kérdés van, a bevezetőben említett fórumtémában nyugodtan kérdezhettek :)
< Előző |  | Következő >
[vissza]
(C) 2006 www.tutorial.hu - photoshop és webszerkesztés leírások Joomla! is Free Software released under the GNU/GPL License. | ### FÓRUMOK [WEB] Honlapkészítés témában az alábbi 2 alfórumunkat tekintsd meg: - webprogramozás (PHP, MySQL) - webszerkesztés, webdesign (ami a honlapkészítéssel kapcsolatos lehet) Az olvasáshoz nem, de a hozzászóláshoz regisztrálni kell magad. Javasoljuk a kereső használatát a kérdések feltevése előtt.. ;) ### LETÖLTÉSEK [WEB] Forráskód szerkesztők Könyvek Link menedzsment Kódoptimalizálás Scriptek, kódok Szervercsomagok ### ONLINE CUCCOK Linkek... - URL "tisztítás" - Url továbbítás - Linkrövidítés - Linkhosszabítás - halott linkek ellenőrzése - Aktuális IP címed Színek... - Colormixers - wellstyled.com - ReedDesign Colors - crieseuwebsite.com - more.btexact.com - colorcube - behr.com - workbook - Defence Mechanism ColorToy - ColorWhore - dev.sessions.edu - ficml.org - colorschemer.com - online - themaninblue.com - technicolor - colormatch.dk - nebulus.org - fullscreen color picker CSS... - Jano - CSS, usability stb. - js.hu CSS puska - CSS Box Border Teszt - CSS - CSS compatibility - Gördítősáv módosítása - CSS lapgenerátor I. Biztonság... - .htaccess és .htpasswd - .htaccess user tiltás - Egyéni hibalapok - Htaccess direktlink tiltás - Jelszavas védelem - Jelszó generátor I. - Jelszó generátor II. - MD4, MD5, SHA-1 Forráskód... - Tidy (online HTML tisztító) - HTML encoder - HTML titkosítás - E-mail encoder Generálnak ezt-azt... - i-Frame - Marquee - Felugró ablak I. - Felugró ablak II. - Meta tagok - Favicon I. - Favicon II. Képekhez... - JPG PNG GIF optimalizáló - kulcsszavak (keywords) - Online képszerkesztő - Honlap betöltési ideje - robots.txt generator Mintaszöveg... - lipsum.com - lorem-ipsum.info - malevole.com Fordítás... - translit.ru - dict.sztaki.hu szótár - babelfish szótár Egyéb... - - HTMLinfo - webes technológiák - Webdesigner's Handbook |