md5 encrpyten
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?
dan zorg je dat bijde geëncrypt zijn.
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
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
?>
@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..?
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.
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.
Zonder cookie = onhandig
We zullen moeten wachten op de tijd waarin je DNA gescand wordt...
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
En die IE only opties. Computernamen kunnen ook 't zelfde zijn :) . Je wilt niet weten hoeveel mensen er met de naam "laptop" rondlopen.
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.
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.