Sikker PHP login

Tags:    php

<< < 123 > >>
Er det sikkert at lave et login system på denne måde??
Fold kodeboks ind/udKode 


Hørte en sige noget om at man skylle enkrypte et eller andet .. Kan dette lade sig gøre at hacke, eller er det sikkert nok ?



24 svar postet i denne tråd vises herunder
6 indlæg har modtaget i alt 6 karma
Sorter efter stemmer Sorter efter dato
Er det sikkert at lave et login system på denne måde??
Fold kodeboks ind/udKode 


Hørte en sige noget om at man skylle enkrypte et eller andet .. Kan dette lade sig gøre at hacke, eller er det sikkert nok ?


Det er en god ide at kryptere password med en md5().


Jonny Højdam
www.unlike.dk // www.2501.dk



Hvis du laver en funktion der tjekker om en bruger et logget ind, kan du køre denne hver gang en bruger skifter side, og derved sikre dig at brugeren er logget ind, og ikke får adgang til sites han ikke burde have adgang til.

Eksempel:

Fold kodeboks ind/udKode 



Så kan du sige:

Fold kodeboks ind/udKode 


--
Ronni Egeriis - squirrel development: http://sqdev.dk/



Er det sikkert at lave et login system på denne måde??
Fold kodeboks ind/udKode 


Hørte en sige noget om at man skylle enkrypte et eller andet .. Kan dette lade sig gøre at hacke, eller er det sikkert nok ?



Jeg plejer bare at sige hvis brugernavn og password er rigtig så laver jeg fx en session som hedder login_ok og sætter den til ok

også på de sider jeg vil beskytte plejer jeg bare at include en fil med det her:


<?
if($_SESSION[login_ok] !== "ok") {
echo ("<META HTTP-EQUIV=\\"refresh\\" CONTENT=\\"index.php\\">");
}
?>

dvs hvis session'en login_ok ikke er ok så viderstil til index.php ellers fortsæt






Er det sikkert at lave et login system på denne måde??
Fold kodeboks ind/udKode 


Hørte en sige noget om at man skylle enkrypte et eller andet .. Kan dette lade sig gøre at hacke, eller er det sikkert nok ?


Du kan evnt. tjekke om en bruger er logget ind således:

Fold kodeboks ind/udKode 


Dette tjekker om brugeren er logget ind, hvis ikke sender det brugeren til login.php

Groyk.dk
Simon Madsen



Du skal også sørge for at al data (i dit tilfælde brugernavn og password) der sættes ind i en mysql_query skal omfattes af funktionen mysql_escape_string(), http://www.php.net/manual/en/ref.mysql.php, for ikke at risikere at folk kan skrive SELECT * FROM users, slette din tabel el.lign.


/Andreas Møgelmose

----
Don't take life too serious, you'll never escape it alive anyway.



Ok, tilbage til den der md5 kryptering ..
Fold kodeboks ind/udKode 


Sådan ser den ud ..
Er der noget som burde laves om der??

Her er ændre password funktionen:
Fold kodeboks ind/udKode 

Noget som burde ændres her?

Update:

Nåjo, er det når man henter eller insætter i databasen mysql_escape_strings skal bruges?


dine funktioner ser fine ud, og du skal ikke bruge escape strings




Det er en god ide at kryptere password med en md5().



md5() er ikke kryptering.

Man kan ik "dekryptere" md5 hashes.


Efter min mening er det underordnet om man bruger md5/kryptering eller ej, en session er der kun adgang til for den enkelte bruger som har oprettet den.

--
Ronni Egeriis - squirrel development: http://sqdev.dk/



Ok, men var ude for at en hackede en gammel asp side jeg har lavet .. men har lavet den efter samme tankegang. Han kunne ændre pass og derefter logge ind, men han kunne ikke se password



Ok, men var ude for at en hackede en gammel asp side jeg har lavet .. men har lavet den efter samme tankegang. Han kunne ændre pass og derefter logge ind, men han kunne ikke se password


hvis andre har adgang til databasen er det en god ide med md5 desuden er det en god ide at spørge efter password, når man vil ændre det.

husk at sørge for at magic_quotes er slået til



<?
if($_SESSION[login_ok] !== "ok") {
echo ("<META HTTP-EQUIV=\\"refresh\\" CONTENT=\\"index.php\\">");
}
?>

det er ikke sikkert !!!

siden går først videre, når den ER loadet, og man kan slå meta-refresh fra i browseren.

<?
if($_SESSION[login_ok] !== "ok") {
header("Location: index.php>");//sender videre MED DET SAMME
exit; //forhindrer at resten af koden udføres
}
?>




<< < 123 > >>
t