7.4.1. HTTP autentikáció

Az RFC 2617 ([10]) kétfajta autentikációt határoz meg HTTP protokoll esetén. A Basic Base64 kódolással továbbítja a felhasználónevet és a jelszót a szerver felé (gyakorlatilag nyílt szövegként), míg a Digest már komolyabb védelmet biztosít, kihívás‑válasz protokoll formájában. A webes rendszereknél egy harmadik, saját űrlap alapú megoldás is elterjedt, sőt, ez a legelterjedtebb, noha a Digest megoldásnál kevésbé biztonságos, mivel a legtöbb esetben (a Basichez hasonlóan) itt is nyílt szövegként kerül továbbításra a jelszó. A módszer előnye a magas fokú testreszabhatóság.

Ismét előreszaladva az implementációhoz, a Java osztálykönyvtárai az RFC 2617-ben megvalósított autentikációs módokat támogatják, míg az űrlap alapú bejelentkezéshez saját megoldást kell fejleszteni.

Utóbbi esetben POST kérésként át kell adni a rendszernek a felhasználónevet és jelszót a megfelelő mezők értékeiként. Ehhez legalább a következő adatokra van szükség:

  • felhasználónév,
  • jelszó,
  • a bejelentkeztetést végző űrlapon a felhasználónév mezőjének neve,
  • a bejelentkeztetést végző űrlapon a jelszó mezőjének neve,
  • az űrlap elküldésére használt URL (a FORM tag action attribútumának értéke).

Ezen adatok birtokában egy szabványos POST kérést összeállítva és elküldve bejelentkeztethető a felhasználó. Ezeken kívül lehetnek még más mezők is az oldalon, amelyek a sikeres bejelentkezéshez szükségesek, de a legtöbb esetben a fentiek elegendőek.

Ha a gépi bejelentkezést direkt szűrik az oldalon (például CAPTCHA‑val, [11]), akkor nem sok esély marad a változások automatikus figyelésére. Ez alól kibúvót jelenthet egy, jelenleg például a GMail-en látható megoldás, amely csak négy-öt hibás belépési kísérlet után kér CAPTCHA-t.

A sikeres bejelentkezéshez tartozó munkamenet azonosítóját általában egy cookie jelenti, amit át kell adni a figyelt oldal lekérésénél a szervernek.

Megjegyzendő, hogy az RFC 2617-ben leírt Basic és Digest autentikáció megtörténtét a HTTP fejlécek közt megjelenő Authorization fejléc megfelelő értéke jelenti. Emiatt kijelentkezésre, a munkamenet törlésére nincs lehetőség. Saját űrlap alapú bejelentkezésnél ez azonban megtehető a megfelelő GET vagy POST kérés elküldésével.

A teljes, autentikációhoz kötött weblapok figyelésére képes folyamat aktivitás-diagramja a 7. ábrán látható.

7. ábra: Az autentikációhoz kötött weblapok figyelésére képes folyamat aktivitás‑diagramja
7. ábra: Az autentikációhoz kötött weblapok figyelésére képes folyamat aktivitás‑diagramja

Tartalom átvétel