login  Naam:   Wachtwoord: 
Registreer je!
 Forum

veilig of niet? (Opgelost)

Offline W0etah - 17/05/2007 21:25
Avatar van W0etahPHP beginner Ik heb voor mijn portfolio site een kleine login gemaakt.

Je moet gewoon een wachtwoord opgeven, dat wachtwoord staat in mijn connectie.php, waar nog wat andere info staat.

zo staat het erin:
$admin_pass = "************";

Maar is dit een veilige manier?

zo controleer ik het dan
  1. <?php
  2. if($_POST['wachtwoord'] == $admin_pass) {
  3. // ingelogd
  4. }
  5. ?>

21 antwoorden

Gesponsorde links
Offline Elpiedro - 17/05/2007 21:27
Avatar van Elpiedro PHP interesse Ja, maar het kan nog veel veilger door crc32(), md5_file() en/of sha1() functies te gebruiken.
Offline W0etah - 17/05/2007 21:28
Avatar van W0etah PHP beginner ik haal dat wachtwoord niet uit mijn db, dus als ik md5 zou gebruiken moet het wachtwoord nog altijd in het script staan
Offline Elpiedro - 17/05/2007 21:30 (laatste wijziging 17/05/2007 21:31)
Avatar van Elpiedro PHP interesse Daar heb je gelijk, gebruik anders wel een DB..

En eigenlijk heeft niemand direct toegang tot jouw script...
Offline W0etah - 17/05/2007 21:32
Avatar van W0etah PHP beginner een db vindt ik dan zo stom om te gaan gebruiken voor 1 gebruiker.

Als er nu meerdere admins zouden zijn ok, maar voor eentje vindt ik het vrij stom
Offline tug3506 - 17/05/2007 21:35
Avatar van tug3506 Nieuw lid Als je maar een gebruiker hebt is het inderdaad vrij stom en alleen maar gevoeliger voor bugabuse....
Maar met dit scriptje moet je wel bij ieder bezoekje opnieuw inloggen...
Offline vinTage - 17/05/2007 21:39
Avatar van vinTage Nieuw lid Niet als hij een sessie start, dan moet hij alleen opnieuw inloggen als de browser compleet uit is geweest.

Verder zou hij een cookie kunnen zetten, maar met de password manager is het maar één klik op de knop en je bent ook binnen.

scriptje is veilig.
Offline bertmelis - 17/05/2007 21:39
Avatar van bertmelis PHP interesse kan je misschien ook via Apache een beveiligde zone maken op uw site?
Offline W0etah - 17/05/2007 21:53
Avatar van W0etah PHP beginner vinTage begrijpt mij 

Ik maak inderdaad een sessie aan, ik controleer of die sessie wel degenlijk bestaat en wat er in de sessie staat.

Als dat goed is, dan kan je beginnen in het admin menu
Offline Stijn - 17/05/2007 22:01
Avatar van Stijn PHP expert 1) MD5 je wachtwoord toch gewoon en plak die in je $password.
2) Werk met sessies, aangezien het hier gaat om één account.
Offline vinTage - 17/05/2007 22:03
Avatar van vinTage Nieuw lid Wat heeft md5'en nou voor zin ? als iemand het ww weet is hij toch al binnen, gemd5'ed of niet.
Offline W0etah - 17/05/2007 22:06
Avatar van W0etah PHP beginner @stijn1989
$admin_pass = md5("lala");

hmm, wat zou het wachtwoord nu zijn???

met sessies werk ik
Offline marten - 17/05/2007 22:12
Avatar van marten Beheerder Maak gewoon een dirretje aan met je beveiligde pagina's. Zet daar een .htaccess en een .htpasswd op en je kan inloggen met username en password 
Offline W0etah - 17/05/2007 22:14
Avatar van W0etah PHP beginner bwa, ik denk dat zoals ik het nu doe wel veilig genoeg is.
En als je gewoon op mijn site kijkt zie je nergens een link naar de admin.

Moet je nog wat special voor doen
Offline Stijn - 17/05/2007 22:33
Avatar van Stijn PHP expert zucht :/ dat bedoel ik niet. Je md5't het wachtwoord en het md5 resultaat plak je in die variable... zo stom ben ik ook weer niet!
Offline vinTage - 17/05/2007 22:43
Avatar van vinTage Nieuw lid En WAT is dan het verschil ??

Of iemand nou md5($_POST['naam']) gebruikt of $_POST['naam']
De geposte waarde moet gewoon exact overeenkomen met de $admin_pass, die hele md5 doet geen drol.
Offline W0etah - 18/05/2007 00:16
Avatar van W0etah PHP beginner @stijn, ik zeg toch ook helemaal niet dat je stom bent.
Maar ik snap niet waar jij naartoe wilt.

Ik moet dus mijn wachtwoord omzetten naar md5 om te vergelijken met een md5 in een variabele.

Ik zie geen enkel verschil dan zonder de md5
Offline Ultimatum - 18/05/2007 00:18
Avatar van Ultimatum PHP expert Het verschil is dat mocht iemand de source van jouw bestand zien dan staat er dus een hash van 32 karakters ipv je echte wachtwoord. Ik denk dat stijn dit bedoelt..
Offline W0etah - 18/05/2007 00:19
Avatar van W0etah PHP beginner ah, ok dan begrijp is wat hij bedoelt.

Dan moet ik hem ook gelijk geven.

Ik ga er morgen werk van maken
Offline vinTage - 18/05/2007 00:22
Avatar van vinTage Nieuw lid Als iemand de source ziet en is kwaadwillend, dan gaat hij naar config.php en echt niet op zoek naar een paginatje waar je een ww voor moet hebben 
Offline W0etah - 18/05/2007 00:24
Avatar van W0etah PHP beginner jah, kga da hier op opgelost zetten.

En eigenlijk niemand weet dat er een admin is, alleen aan de mensen die ik het vertel
Offline Mosselman - 18/05/2007 01:37
Avatar van Mosselman Nieuw lid De functionaliteit is duidelijk hetzelfde. Alleen is het goed gebruik om md5(), sha1(), etc te gebruiken. Het is overingens ook vrij naief om te denken dat iemand je bestand niet te pakken kan krijgen waarin je passwoord dan staat. Je kan beter je paswoord md5-en, alsof dat zoveel extra moeite is.

Bereken de md5 van je wachtwoord: http://www.netadvies.nl/cgi-bin/md5.cgi
of liever de sha1 (maak .php file en doe echo(sha1("passwoord"));) copy dat.

Nu gewoon in je code "$password = "sha1hash";
dan "if(sha1($_POST['wachtwoord']) === $password) {". Klaar is mosselman, zo moeilijk is dat toch niet? Je vraag was of het veilig is wat jij doet, daarom zegt men dat het veiliger is als je een hash gebruikt.

Wat je verder zegt is ook niet waar, met "==". Het gebruik van "==" toetst niet of iets exact gelijk is aan iets anders.

  1. <?php
  2. $text = "3 bier";
  3. if($text == 3){ //output true
  4. }
  5. ?>


Daarom moet je "===" gebruiken ipv "==". Want als je paswoord "123peter" is en iemand typt "123" in het wachtwoord veld dan is het alsnog waar en kan die persoon inloggen.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.219s