Onko se mahdollista, että joku voi lukea salasanat ym. hommat .dat tiedostosta php-koodilla?? Tiedostolla on oikeudet 664.
Onhan se mahdollista, jos vain tietää urlin. Siihen ei auta edes htaccessilla kansion suojaaminen, sun pitäis kehittää siihen joku session suojaus, joka palauttaa aina arvon false, tyyliin:
tunnukset.dat
Ja tietenkin jossain määritellä tuo $_SESSION["valid"];
edit: Hummmm, ei kuitenkaan välttämät sittenkään niin hyvä idea. Antaa kuitenkin olla tuon tuossa, siitähän voisi jalostaa hieman paremman version.
Tiedoston salasanat kannattaa kryptata md5-kryptauksella, jolloin niitä on miltei mahdoton saada selville.
Esim:
<?php //esimerkki tietojen tallennukseen //oletetaan että muuttujassa $kayttaja on kayttajatunnus ja $passu salasana $tt=fopen("users.dat", "a"); $kryptattupassu=md5($passu); $kirjotetaa=$kayttaja . "|" . $kryptattupassu . "\r\n"; fwrite($tt, $kirjotetaa); fclose($tt); ?>
<?php //tarkistetaan käyttäjätunnus ja salasana //oletetaan että muuttujassa $kayttaja on kayttajatunnus ja $passu salasana $tiedosto=file("users.dat"); //etsitään käyttäjätunnus tiedostosta for ($i=0; $i<=count($tiedosto); $i++) { if ($tiedosto[$i]==$kayttaja) { $rivi=$i; } } //taulukkoon laitetaan rivin käyttäjätunnus ja salasana $rivi = explode("|", $tiedosto[$rivi]); //$rivi[0] on käyttäjätunnus //$rivi[1] on md5-kryptattu passu $passu=md5($passu); if ($passu==$rivi[1]) { echo "sisällä"; } ?>
ps. saattaa olla virheitä, heitin tuon koodin päästä...
lainaus:
Onhan se mahdollista, jos vain tietää urlin. Siihen ei auta edes htaccessilla kansion suojaaminen
Ei sitä kyllä remotena lueta htaccessilla suojatusta hakemistosta. Paikallisesti (samalla koneella) suoritettuna htaccess ei auta mitään vaan pitää olla oikeudet kohdallaan. Hakemistojen lisäksi apachelle voi määrittää maskeja jotka osuman tuotettuaan ei palauta tiedostoa selaimelle. Näin on esimerkiksi suojattu .htaccess tiedostot.
Samaan asiaan liittyen, onko md5 kryptaus mahdollista purkaa? Tuli vaan mieleen, kun joku näin joskus väitti.
On mahdollista purkaa kokeilemalla joka ikinen vaihtoehto. Muuten ei.
Aihe on jo aika vanha, joten et voi enää vastata siihen.