Nederlands Minecraft Forum

Technologie => Software => Topic gestart door: bminemachine op 13 juni 2013, 18:21:34

Titel: SHA1 php login
Bericht door: bminemachine op 13 juni 2013, 18:21:34
Beste bezoekers. Ik heb hard gewerkt aan een user login script voor authme via een database.
Ik heb het hele script af http://hhwgamingcraft.nl/user/new/ (http://hhwgamingcraft.nl/user/new/) alleen nu heb ik een probleem.
Het wachtwoord word opgeslagen in een SHA1 bestand. Weet iemand nu hoe ik dat in het login script kan instellen dat hij dat leest.

Alvast bedankt met vriendelijke groet Bminemachine
Titel: Re: SHA1 php login
Bericht door: bminemachine op 15 juni 2013, 11:11:14
Heeft er iemand nog een idee
Titel: Re: SHA1 php login
Bericht door: The 4us op 16 juni 2013, 17:52:48
Wat je moet doen is een formulier maken die de input omzet naar een SHA1 string en deze vergelijkt met die in de DB. Wanneer er een overeenkomst is dan == login=true
Zo zijn je wachtwoorden ook gelijk encrypted opgeslagen, zodat wanneer je db is gejat ze nog niets hebben.
Titel: Re: SHA1 php login
Bericht door: bminemachine op 16 juni 2013, 20:20:15
Wat je moet doen is een formulier maken die de input omzet naar een SHA1 string en deze vergelijkt met die in de DB. Wanneer er een overeenkomst is dan == login=true
Zo zijn je wachtwoorden ook gelijk encrypted opgeslagen, zodat wanneer je db is gejat ze nog niets hebben.


Alles staat al met het goede formaat in de db aleen moet ik nog de het goede formaat voor het login formulier hebben
Titel: Re: SHA1 php login
Bericht door: The 4us op 16 juni 2013, 20:33:26

Alles staat al met het goede formaat in de db aleen moet ik nog de het goede formaat voor het login formulier hebben

http://pbeblog.wordpress.com/2008/03/02/login-script-in-phpmysql/
Titel: Re: SHA1 php login
Bericht door: bminemachine op 16 juni 2013, 20:49:59
http://pbeblog.wordpress.com/2008/03/02/login-script-in-phpmysql/
Ik heb al een compleet login systeem zou je me Meschien verder kunnen helpen op Skype.
Me gebruikersnaam is Bartjejongen
Titel: Re: SHA1 php login
Bericht door: The 4us op 16 juni 2013, 20:57:55
Ik heb al een compleet login systeem zou je me Meschien verder kunnen helpen op Skype.
Me gebruikersnaam is Bartjejongen

Ik kan geen PHP ;)
Titel: Re: SHA1 php login
Bericht door: Menno op 16 juni 2013, 21:03:19
Als je inlog met een form gebruik dan dit:

sha1($_POST['password']);

Volgens mij is dat de code om het encrypted op te sturen
Titel: Re: SHA1 php login
Bericht door: bminemachine op 17 juni 2013, 15:33:21
Oke ik begrijp dit niet echt ik ben namelijk niet echt goed in php (slecht) ik heb dit   // check to see if they match!
 if ($username==$dbusername&&md5($password)==$dbpassword)
Titel: Re: SHA1 php login
Bericht door: Menno op 17 juni 2013, 17:08:57
Oke ik begrijp dit niet echt ik ben namelijk niet echt goed in php (slecht) ik heb dit   // check to see if they match!
 if ($username==$dbusername&&md5($password)==$dbpassword)

Verander md5($password) in sha1($password) (of enkel sha)
Titel: Re: SHA1 php login
Bericht door: bminemachine op 17 juni 2013, 17:43:07
Verander md5($password) in sha1($password) (of enkel sha)
Helaas werkt dit niet if ($username==$dbusername&&sha1($password)==$dbpassword)
Titel: Re: SHA1 php login
Bericht door: KingGold_ op 17 juni 2013, 17:59:58
Mischien doet  === het wel?
Titel: Re: SHA1 php login
Bericht door: bminemachine op 17 juni 2013, 18:11:15
Mischien doet  === het wel?
Doet het ook niet   // check to see if they match!
 if ($username==$dbusername==sha256($password)==$dbpassword)
Titel: Re: SHA1 php login
Bericht door: CyberGhost op 17 juni 2013, 18:59:36
Helaas werkt dit niet if ($username==$dbusername&&sha1($password)==$dbpassword)

Dit zou moeten werken. Weet je zeker dat de namen van de variablen kloppen en dat de wachtwoorden in de database als sha1 zijn opgeslagen?

if ($username == $dbusername && sha1($password) == $dbpassword)
Gelieve wat meer code te plaatsen zodat wij daadwerkelijk kunnen zien hoe je script in elkaar steekt, inplaats van gokken wat mogelijk de oorzaak kan zijn.
Titel: Re: SHA1 php login
Bericht door: CyberGhost op 17 juni 2013, 19:01:13
Sorry, verkeerde knop, daarom dubbelpost.
Titel: Re: SHA1 php login
Bericht door: bminemachine op 17 juni 2013, 21:12:43
Dit zou moeten werken. Weet je zeker dat de namen van de variablen kloppen en dat de wachtwoorden in de database als sha1 zijn opgeslagen?

if ($username == $dbusername && sha1($password) == $dbpassword)
Gelieve wat meer code te plaatsen zodat wij daadwerkelijk kunnen zien hoe je script in elkaar steekt, inplaats van gokken wat mogelijk de oorzaak kan zijn.
De wachtwoorden zijn als sha256 opgeslagen.
Titel: Re: SHA1 php login
Bericht door: CyberGhost op 18 juni 2013, 15:31:04
Dan is het vrij logisch dat dit niet werkt. Jouw script haalt de usernames en passwords op uit de database en checkt vervolgens of de $_POST['username']; en sha1($_POST['password']) overeenkomen met een record uit de database. Als jouw passwords als sha256 zijn opgeslagen zal hij nooit een overeenkomend password vinden. Zorg dus óf dat alle passwords als sha1 in de database staan óf dat je het wachtwoord hasht naar sha256.
Titel: Re: SHA1 php login
Bericht door: bminemachine op 18 juni 2013, 16:36:46
Dan is het vrij logisch dat dit niet werkt. Jouw script haalt de usernames en passwords op uit de database en checkt vervolgens of de $_POST['username']; en sha1($_POST['password']) overeenkomen met een record uit de database. Als jouw passwords als sha256 zijn opgeslagen zal hij nooit een overeenkomend password vinden. Zorg dus óf dat alle passwords als sha1 in de database staan óf dat je het wachtwoord hasht naar sha256.
Daar gaan we weer als ik mijn hele script online gooi of even naar je pm kan jij dat dan voor me regelen.
Titel: Re: SHA1 php login
Bericht door: CyberGhost op 18 juni 2013, 17:04:49
Dan zou ik het gewoon simpel houden en sha256 gebruiken, de volgende code zou moeten werken:

if ($username == $dbusername && hash('sha256', $password) == $dbpassword)
Titel: Re: SHA1 php login
Bericht door: bminemachine op 20 juni 2013, 14:12:10
Is er iemand bereid om een open authme user systeem te maken.
Titel: Re: SHA1 php login
Bericht door: NachoNL op 26 juni 2013, 09:49:58
Wat je wilt doen:

zorg ervoor dat input van form voor gebruikersnaam name="gebruikersnaam" bevat en input van wachtwoord name="wachtwoord".

Post action naar het bestand waar je deze code in zit, controleer post bijvoorbeeld met if($_POST['gebruikersnaam ']) {
 echo 'code hier';
}

Vervolgens heb je bijvoorbeeld deze code:

include_once 'config.php';

$sql = mysql_query('SELECT * FROM accounts_tabel WHERE gebruikers_naam = '.$_POST["gebruikersnaam"].'');

if($sql) {
if(mysql_num_rows($sql) == 1) {
$sha_wachtwoord = sha1($_POST['wachtwoord']);
$db_wachtwoord = mysql_fetch_assoc($sql);
if($sha_wachtwoord == $db_wachtwoord['wachtwoord']) {
echo 'Succesvol ingelogt';
} else {
echo 'Onjuist wachtwoord';
}
} else {
echo 'Uw account bestaat nog niet, registreer u eerst!';
}
}

Niet getest dus kunnen fouten in zitten!

Wat je wilt is dat als iemand inlogt, het wachtwoord dat meegezonden wordt met $_POST eerst naar sha encrypt wordt, dus met "$sha_wachtwoord = sha1($_POST['wachtwoord']);". Dit wachtwoord zou dan hetzelfde moeten zijn als die wat in de database is opgeslagen.

Wat je doet is met een MySQL query dat wachtwoord weer uit de database opvragen, en deze twee met elkaar controleren.

als dat juist is krijg je de output: "Succesvol ingelogt". Zorg er dan wel voor dat je alles in een sessie zet.

Ik hoop dat je het nu wat beter snapt.
Titel: Re: SHA1 php login
Bericht door: bminemachine op 26 juni 2013, 16:24:30
Wat je wilt doen:

zorg ervoor dat input van form voor gebruikersnaam name="gebruikersnaam" bevat en input van wachtwoord name="wachtwoord".

Post action naar het bestand waar je deze code in zit, controleer post bijvoorbeeld met if($_POST['gebruikersnaam ']) {
 echo 'code hier';
}

Vervolgens heb je bijvoorbeeld deze code:

include_once 'config.php';

$sql = mysql_query('SELECT * FROM accounts_tabel WHERE gebruikers_naam = '.$_POST["gebruikersnaam"].'');

if($sql) {
if(mysql_num_rows($sql) == 1) {
$sha_wachtwoord = sha1($_POST['wachtwoord']);
$db_wachtwoord = mysql_fetch_assoc($sql);
if($sha_wachtwoord == $db_wachtwoord['wachtwoord']) {
echo 'Succesvol ingelogt';
} else {
echo 'Onjuist wachtwoord';
}
} else {
echo 'Uw account bestaat nog niet, registreer u eerst!';
}
}

Niet getest dus kunnen fouten in zitten!

Wat je wilt is dat als iemand inlogt, het wachtwoord dat meegezonden wordt met $_POST eerst naar sha encrypt wordt, dus met "$sha_wachtwoord = sha1($_POST['wachtwoord']);". Dit wachtwoord zou dan hetzelfde moeten zijn als die wat in de database is opgeslagen.

Wat je doet is met een MySQL query dat wachtwoord weer uit de database opvragen, en deze twee met elkaar controleren.

als dat juist is krijg je de output: "Succesvol ingelogt". Zorg er dan wel voor dat je alles in een sessie zet.

Ik hoop dat je het nu wat beter snapt.
Thanks voor je hulp. Ik begin het nu wel een beetje te snappen. Aleen nog niet helemaal. Kan je me Meschien op Skype helpen me naam is Bartjejongen.
Met vriendelijke groet Bminemachine