Tilanne on tämä:
Ensin on etusivu, johon käyttäjä syöttää tunnuksen ja salasanan. Sen jälkeen käyttäjä ohjataan omaan hakemistoonsa, jonne ei saa päästä ilman tunnistautumista.
Nyt minulla on hakemistossa .htaccess-tiedosto jonne php redirectoi sen mukaan mitä käyttäjä kirjoittaa tunnukseksi ja salasanaksi. Nyt vaan tulee aina uusi htaccessin popuppi joka kysyy toiseen kertaan tunnusta ja salasanaa. Tätä ei saisi tapahtua vaan pitäisi riittää kun kerran antaa tunnuksen ja salasanan lomakkeessa.
Olen koittanut vaikka mitä mutta ei onnistu. Lähimmäksi pääsin siten, että pistin sen redirectoimaan näin:
header("Location: http://tunnus:salasana@www.osoite.com/hakemisto/
exit();
Vaan tuokin saa aikaan aina sen popupin. Kummalisinta siinä on se, että jos otan tuon osoitteen ja kirjoitan sen suoraan selaimen osoitekenttään, popuppia ei tule. Mutta kun redirectaan siihen php:n kautta niin aina kysyy.
Tähän on kaksi helppoa ratkaisua: Joko hoidat kirjautumisen kokonaan PHP:llä tai sitten kokonaan .htaccessilla. Jos et luota siihen, että saat tehtyä PHP:llä tarpeeksi hyvän suojauksen, suosittelisin että otat pois sen erillisen loggautumisformin ja jätät tilalle vain linkin johonkin tiedostoon em. kansiossa. Näin säästyt paljolta vaivalta eikä tietoturva kärsi. Jos kuitenkin haluat saada tuon erillisen loggauksen toimimaan, niin tapoja riittää. Yksi mielestäni hyvä keino olisi laittaa kansioon htaccess-tiedosto, joka estää kaiken liikenteen tiedostoihin, ja sitten kaivaa tiedot sieltä täysin php:n kautta, jolloin php-filu hoitaisi myös salasanojen tarkistuksen.
Ja vaikeampi olisi niin että se hakee passun .htpasswd filestä. Kai sekin onnistuisi.
Aihe on jo aika vanha, joten et voi enää vastata siihen.