md5 encrpyten
Ik wil in mijn inlogscript de wachtwoorden allemaal in md5 hebben staan, welke functie moet ik dan gebruiken om het ingetypte wachtwoord naar deze md5 te encrypten? En waar plaats ik die functie?
Dit is mijn inlogscript:
Dit is mijn inlogscript:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?
$gebruikers = array(
"admin" => "wachtwoord",
);
if (isset($_REQUEST['gn'])) {
if (isset($_POST['gn'])) {
$gebruikersnaam = $_POST['gn'];
} elseif (isset($_COOKIE['gn'])) {
$gebruikersnaam = $_COOKIE['gn'];
} else {
inloggen();
}
$gebruikersnaam = trim(strip_tags($gebruikersnaam));
if (array_key_exists($gebruikersnaam, $gebruikers)) {
if (isset($_POST['ww'])) {
$wachtwoord = $_POST['ww'];
} elseif (isset($_COOKIE['ww'])) {
$wachtwoord = $_COOKIE['ww'];
} else {
inloggen($gebruikersnaam);
}
$wachtwoord = trim(strip_tags($wachtwoord));
if ($gebruikers[$gebruikersnaam] == $wachtwoord) {
$verloopt_op = time() + 3600;
setcookie("gn", $gebruikersnaam, $verloopt_op);
if (isset($_POST['wo'])) {
if ($_POST['wo'] == 1) {
setcookie("ww", $wachtwoord, $verloopt_op);
}
}
} else {
inloggen($gebruikersnaam);
}
} else {
inloggen($gebruikersnaam);
}
} else {
inloggen();
}
function inloggen($gebruikersnaam = '')
{
?>
$gebruikers = array(
"admin" => "wachtwoord",
);
if (isset($_REQUEST['gn'])) {
if (isset($_POST['gn'])) {
$gebruikersnaam = $_POST['gn'];
} elseif (isset($_COOKIE['gn'])) {
$gebruikersnaam = $_COOKIE['gn'];
} else {
inloggen();
}
$gebruikersnaam = trim(strip_tags($gebruikersnaam));
if (array_key_exists($gebruikersnaam, $gebruikers)) {
if (isset($_POST['ww'])) {
$wachtwoord = $_POST['ww'];
} elseif (isset($_COOKIE['ww'])) {
$wachtwoord = $_COOKIE['ww'];
} else {
inloggen($gebruikersnaam);
}
$wachtwoord = trim(strip_tags($wachtwoord));
if ($gebruikers[$gebruikersnaam] == $wachtwoord) {
$verloopt_op = time() + 3600;
setcookie("gn", $gebruikersnaam, $verloopt_op);
if (isset($_POST['wo'])) {
if ($_POST['wo'] == 1) {
setcookie("ww", $wachtwoord, $verloopt_op);
}
}
} else {
inloggen($gebruikersnaam);
}
} else {
inloggen($gebruikersnaam);
}
} else {
inloggen();
}
function inloggen($gebruikersnaam = '')
{
?>
Gewijzigd op 01/01/1970 01:00:00 door Joshua Smith
Op dezelfde manier gewoon md5()
Maar waar en hoe zet ik dat dan in mijn script?
voordat je de vergelijking maakt.
dan zorg je dat bijde geëncrypt zijn.
dan zorg je dat bijde geëncrypt zijn.
wat gaat er nu dan mis?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?
$pass = md5($wachtwoord);
$gebruikers = array("admin" => "701f33b8d1366cde9cb3822256a62c01");
if (isset($_REQUEST['gn'])) {
if (isset($_POST['gn'])) {
$gebruikersnaam = $_POST['gn'];
} elseif (isset($_COOKIE['gn'])) {
$gebruikersnaam = $_COOKIE['gn'];
} else {
inloggen();
}
$gebruikersnaam = trim(strip_tags($gebruikersnaam));
if (array_key_exists($gebruikersnaam, $gebruikers)) {
if (isset($_POST['ww'])) {
$pass = $_POST['ww'];
} elseif (isset($_COOKIE['ww'])) {
$pass = $_COOKIE['ww'];
} else {
inloggen($gebruikersnaam);
}
$pass = trim(strip_tags($pass));
if ($gebruikers[$gebruikersnaam] == $pass) {
// Cookie verloopt na 1 uur = 3600 seconden:
$verloopt_op = time() + 3600;
setcookie("gn", $gebruikersnaam, $verloopt_op);
if (isset($_POST['wo'])) {
if ($_POST['wo'] == 1) {
setcookie("ww", $pass, $verloopt_op);
}
}
} else {
inloggen($gebruikersnaam);
}
} else {
inloggen($gebruikersnaam);
}
} else {
inloggen();
}
function inloggen($gebruikersnaam = '')
{
?>
$pass = md5($wachtwoord);
$gebruikers = array("admin" => "701f33b8d1366cde9cb3822256a62c01");
if (isset($_REQUEST['gn'])) {
if (isset($_POST['gn'])) {
$gebruikersnaam = $_POST['gn'];
} elseif (isset($_COOKIE['gn'])) {
$gebruikersnaam = $_COOKIE['gn'];
} else {
inloggen();
}
$gebruikersnaam = trim(strip_tags($gebruikersnaam));
if (array_key_exists($gebruikersnaam, $gebruikers)) {
if (isset($_POST['ww'])) {
$pass = $_POST['ww'];
} elseif (isset($_COOKIE['ww'])) {
$pass = $_COOKIE['ww'];
} else {
inloggen($gebruikersnaam);
}
$pass = trim(strip_tags($pass));
if ($gebruikers[$gebruikersnaam] == $pass) {
// Cookie verloopt na 1 uur = 3600 seconden:
$verloopt_op = time() + 3600;
setcookie("gn", $gebruikersnaam, $verloopt_op);
if (isset($_POST['wo'])) {
if ($_POST['wo'] == 1) {
setcookie("ww", $pass, $verloopt_op);
}
}
} else {
inloggen($gebruikersnaam);
}
} else {
inloggen($gebruikersnaam);
}
} else {
inloggen();
}
function inloggen($gebruikersnaam = '')
{
?>
Een wachtwoord in een koekje zetten is niet echt de bedoeling, ook niet in md5 of w/e
En dit is nou het enige wat ik wilde weten (had t me gewoon verteld, dan had ik niet de hele avond hoeven K$%ten):
Code (php)
1
2
3
2
3
<?php
$wachtwoord = sha1(trim(strip_tags($wachtwoord))); // <<- SHA1 functie ingevoegd
?>
$wachtwoord = sha1(trim(strip_tags($wachtwoord))); // <<- SHA1 functie ingevoegd
?>
sha1 en md5 zijn geen encryptie algoritmes maar hashes. 't verschil is dat je een encryptie ook weer kunt decrypten maar met een hash gaat dat niet.
@Boaz. Hoe wil je dan ervoor zorgen dat een user ingelogt blijft? Ook de volgende dag dus? Je zult toch op een of andere manier een key moeten verzinnen waarmee die persoon zich weer in kan loggen. Ik weet hoe onveilig 't is aangezien je nog altijd simpelweg door het jatten van een cookie in kunt loggen. En ik heb wel eens nagedacht over een iplock (ip adres hashen met een extra string er bij oid). Maar als je met je laptop dan naar school gaat of je hebt een dynamisch ip dan moet je alsnog elke keer opnieuw inloggen.
@Boaz. Hoe wil je dan ervoor zorgen dat een user ingelogt blijft? Ook de volgende dag dus? Je zult toch op een of andere manier een key moeten verzinnen waarmee die persoon zich weer in kan loggen. Ik weet hoe onveilig 't is aangezien je nog altijd simpelweg door het jatten van een cookie in kunt loggen. En ik heb wel eens nagedacht over een iplock (ip adres hashen met een extra string er bij oid). Maar als je met je laptop dan naar school gaat of je hebt een dynamisch ip dan moet je alsnog elke keer opnieuw inloggen.
Roy:
@Boaz. Hoe wil je dan ervoor zorgen dat een user ingelogt blijft? Ook de volgende dag dus?
Maar dan hoef je de wachtwoorden nog niet in een cookie op te slaan...
Blanche:
Maar dan hoef je de wachtwoorden nog niet in een cookie op te slaan...
En wat stel jij dan voor..?
Wachtwoorden in een cookie of in een sessie opslaan is altijd een slecht idee. De enige keer dat je hoeft te controleren of een password correct is, is bij het verzenden van het loginformulier. Maak dan een sessievariabele aan met logged_in of zoiets. Je zou het IP adres in je DB kunnen opslaan en een cookie op de computer van de user aan kunnen maken dat een dag duurt. Als er dan iemand op je pagina komt kun je kijken of er een record bestaat met het goede IP adres dat nog geen dag oud is.
Als je geen vast IP adres hebt (mensen uit België, zijn jullie er nog?) dan werkt deze methode natuurlijk niet. Als je met je laptop van het ene naar het andere netwerk verhuist, zou je cookies kunnen maken die een week duren. Dan staat er voor elk IP adres een record in de DB waardoor de user ingelogd blijft.
Als je geen vast IP adres hebt (mensen uit België, zijn jullie er nog?) dan werkt deze methode natuurlijk niet. Als je met je laptop van het ene naar het andere netwerk verhuist, zou je cookies kunnen maken die een week duren. Dan staat er voor elk IP adres een record in de DB waardoor de user ingelogd blijft.
Jou ip optie werkt niet. Dynamische IP adressen en inbel verbingen bestaat nog! Tevens kun je zelf ook van lokatie verhuizen.
Wat je bij jou optie dus nog steeds krijgt is dat je elke keer opnieuw in moet loggen bij elk nieuw ip. 't hele idee van cookies is volgensmij dat dat nooit hoeft, anders kun je net zo goed alleen sessions gebruiken. Ik heb voor de gein eens gekeken maar phphulp.nl slaat ook vrolijk een cookie met pass op :') .
Wat eigenlijk al imo helemaal merkwaardig is is dat je level en username op worden geslagen. Ik heb geprobeert 't level en username te weizigen maar er zit toch nog ergens een check in maar dit soort gegevens haal je toch uit de database lijkt me?
Maar goed ik ben dus opzoek naar een methode waar je cookie wel mee kan verhuizen! Maar de grap is dat als je dit wilt het hoe je 't ook went of keert onveilig is.
Door een cookie te stelen van iemand anders kun je inloggen.
Wat je bij jou optie dus nog steeds krijgt is dat je elke keer opnieuw in moet loggen bij elk nieuw ip. 't hele idee van cookies is volgensmij dat dat nooit hoeft, anders kun je net zo goed alleen sessions gebruiken. Ik heb voor de gein eens gekeken maar phphulp.nl slaat ook vrolijk een cookie met pass op :') .
Wat eigenlijk al imo helemaal merkwaardig is is dat je level en username op worden geslagen. Ik heb geprobeert 't level en username te weizigen maar er zit toch nog ergens een check in maar dit soort gegevens haal je toch uit de database lijkt me?
Maar goed ik ben dus opzoek naar een methode waar je cookie wel mee kan verhuizen! Maar de grap is dat als je dit wilt het hoe je 't ook went of keert onveilig is.
Door een cookie te stelen van iemand anders kun je inloggen.
Gewijzigd op 01/01/1970 01:00:00 door Roy Bongers
Roy:
Maar goed ik ben dus opzoek naar een methode waar je cookie wel mee kan verhuizen! Maar de grap is dat als je dit wilt het hoe je 't ook went of keert onveilig is.
Door een cookie te stelen van iemand anders kun je inloggen.
Door een cookie te stelen van iemand anders kun je inloggen.
Dit is ook een probleem waar ik al veel tijd aan besteed hebt.
Laast was dat ook het geval bij hotmail, daar bleek het ook mogelijk te zijn om via het koekje van iemand anders in te loggen en nog belangrijker het stelen er van bleek morgelijk.
Het is dus niet zo'n probleem als het stelen van het koekje niet mogelijk is, maar daar zijn zo veel mogelijk heden voor, zie die maar eens allemaal dicht te krijgen.
Ik blijf voorlopig toch bij username + ip in een sessie en geen koekjes. En als ik koekjes gebruik, dan geen wachtwoord en wel een IP.
Met cookie = onveilig
Zonder cookie = onhandig
We zullen moeten wachten op de tijd waarin je DNA gescand wordt...
Zonder cookie = onhandig
We zullen moeten wachten op de tijd waarin je DNA gescand wordt...
Je zou ipv een IP met een ActiveX object ( IE only dus, dat is al 1 stem tegen ) de computernaam uit kunnen lezen en die gebruiken.
Maarja, ook dat is te neppen natuurlijk. ( Dat is stem 2 :+ )
Verder is het IP adres het enige waarmee je de indentiteit van een bezoeker kunt vaststellen.
Belangrijke sites ( denk aan bijv. je bank ) hebben dan ook geen optie "remember me" :P
Maarja, ook dat is te neppen natuurlijk. ( Dat is stem 2 :+ )
Verder is het IP adres het enige waarmee je de indentiteit van een bezoeker kunt vaststellen.
Belangrijke sites ( denk aan bijv. je bank ) hebben dan ook geen optie "remember me" :P
Nee inderdaad. Ik denk dat je voor een simpele applicatie (forum, blog, etc) best een remember me functie mag hebben. Verder als authenticatie echt belangrijk is gebruik je ook wel SSL.
En die IE only opties. Computernamen kunnen ook 't zelfde zijn :) . Je wilt niet weten hoeveel mensen er met de naam "laptop" rondlopen.
En die IE only opties. Computernamen kunnen ook 't zelfde zijn :) . Je wilt niet weten hoeveel mensen er met de naam "laptop" rondlopen.
Beveiliging en gebruiksgemak zijn omgekeerd evenredig.
Oftewel: wil je een veilige oplossing, dan zul je er niet aan ontkomen om elke keer opnieuw je wachtwoord in te voeren. Wil je een gemakkelijke oplossing, dan moet je maar voor lief nemen dat het niet veilig is. Zet gewoon je wachtwoord ongecrypt in een cookie. Krijg je tenminste ook geen vals gevoel van veiligheid.
Oftewel: wil je een veilige oplossing, dan zul je er niet aan ontkomen om elke keer opnieuw je wachtwoord in te voeren. Wil je een gemakkelijke oplossing, dan moet je maar voor lief nemen dat het niet veilig is. Zet gewoon je wachtwoord ongecrypt in een cookie. Krijg je tenminste ook geen vals gevoel van veiligheid.
Schiet me ineens iets te binnen. Is het niet mogelijk wanneer je doet Setcookie je gelijk een datum in de db zet en je dan kunt kijken of de datum van het cookie en de db het zelfde zijn?
Ik bedoel dus de datum die je bij bestanden op je pc krijgt (eigenschappen) want als je een cookie steelt en op je pc zet is de datum verandert.
Edit: Hmm ik kan niet vinden of je de datum kan krijgen van wanneer die geset is. Met bestand doe je dus zoiets als:
Ik bedoel dus de datum die je bij bestanden op je pc krijgt (eigenschappen) want als je een cookie steelt en op je pc zet is de datum verandert.
Edit: Hmm ik kan niet vinden of je de datum kan krijgen van wanneer die geset is. Met bestand doe je dus zoiets als:
Gewijzigd op 01/01/1970 01:00:00 door Michael -
Het HTTP protocol heeft alleen de inhoud van het cookie mee. Je hebt dus alleen toegang tot de inhoud. Het is geen file die je kan benaderen en dus niet kijken op welke datum en tijd de cookie gemaakt is / het laatst gewijzigd is.
Helaas. Anders was het een goede beveiliging geweest denk ik.




