Gå til innhold

Lagre brukernavn og passord i egen php fil.


Anbefalte innlegg

Videoannonse
Annonse

linjeskift? :roll:

kjøre følgende oppsett i fila:

 

brukernavn1:::passord1

brukernavn2:::passord2

brukernavn3:::passord3

 

Beste er å bruke en database og kryptere passordene der.

Oppbevaring av passord i klartekst er ikke å anbefale.

Lenke til kommentar

off lenge siden jeg har brukt tekstfiler.

 

Det beste du kan gjøre er å lagre passordet slik:

 

function makepassword($user, $pw)

{

$kryptstreng = $user. $pw;

$kryptpass = md5($kryptstreng);

 

return $kryptpass;

}

 

For å sjekke passordet bruker du:

 

function checkpass($user, $pw)

{

// her må du først slå opp brukeren i databasen din, så du sjekker riktig bruker

 

$kryptstreng = $useruinput . $pwinput;

$kryptpass = md5($kryptstreng);

 

if ($kryptpass == $lagretpassord) { $flag = 1; }

 

return $flag;

}

 

På denne måten kan du bruke

 

if (checkpass($brukerinput, $passordinput)) { echo "det var riktig passord!"; }

else { echo "feil brukernavn eller passord"; }

 

Når det gjelder tekstfilene dine: Det er ikke noe problem å lagre md5-krypterte passord i klartekst, selv om jeg uansett ville lagt denne typen ting utenfor webrota.

 

For å legge til linjeskift i tekstfila, prøv å bruke chr(13) eller chr(10), avhengig av om du kjører på wintel- eller *nix server.

 

for å lese fila bruker du

 

$filen = file($filnavn);

 

Nå har du hele fila lagret i $filen. Denne må du nå loope gjennom med en for løkke (for ($i=0; $i < count($filen); $i++)), og du må explode inni løkka:

 

$dennekombinasjonen = explode ("...", $filen[$i]);

 

nå vil $dennekombinasjonen[0] ha brukernavnet og $dennekombinasjonen[1] ha passord-hasjen. Det er disse to du sjekker mot inni checkpass - funksjonen.

Lenke til kommentar

takk for alle svar!

 

prøvde litt men gjekk litt i surr med all informasjonen..

veit at den er tungvindt, men er fornøgd med å ha laga eit login script :) ikkje er den sikkert heller, men det får komme etter kvert. er ikkje akkurat nåke store hemmeligheter..

skal vise korleis den gamle login-funskjonen fungerte:

 

login.php: fyller ut informasjon(tar berre med det som var i "form" delen)

<form action="loginaction.php" method="post">

<tr>

<td colspan="2">[Login]</td>

</tr>

<tr>

<td>

<font face="Verdana" size="2">Brukernamn:</font>

</td>

<td align="right">

<input type="text" name="login" size="12">

</td>

</tr>

<tr>

<td>

<font face="Verdana" size="2">Passord</font>

</td>

<td align="right">

<input type="password" name="passwd" size="12">

</td>

</tr>

<tr>

<td colspan="2">

<input type="submit" value="Login">

</td>

</tr>

</form>

 

loginaction.php: sjekker om brukernamnet og passordet er rett. viss det er riktig oppretter det ein session med ein loginid, og går til medlemssidene.

<?php

if (empty($_POST['login']))

 

{

 

}

$namn = "kristian";

$passord = "mittpassord";

 

if(strcmp($_POST['login'],"$namn")==0 && strcmp($_POST['passwd'],"$passord")==0)

{

session_start();

session_register('loginid');

$loginid = "2004";

 

header("Location: loggedin.php");

 

}

else

{

print("Feil oppstått: brukernamnet eller passordet er feil.");

}

 

?>

 

 

loggedin.php (sjekker først om loginiden ligger i ein session. viss den gjer det så viser den det hemmelige innhaldet på sida.

 

<?php

session_start();

if($loginid == "2004")

{

print("Du er no logga inn på det hemmelige området!<br>

Login ID'en din er lagra i ein session.<br>");

}

else

{

print("Du kan ikkje opne denna sida utan å logge på først.");

}

?>

 

veit at det er litt tungvindt, men er i alle fall ein start for å lære litt om sessions og sånn... nåken som vil forklare ut i fra filene (eventuellt i nye filer) mine vil forklare korleis den sjekker om brukernamnet og passordet passer med ein kryptert brukernamn og passord i ei anna fil (f. eks. users.php)?

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...