login  Naam:   Wachtwoord: 
Registreer je!
 Forum

veilig loginsysteem

Offline webmaker - 10/07/2007 14:39
Avatar van webmakerPHP interesse ik heb een login systeem gemaakt, maar weet iemand nog bepaalde dingen die je daaraan kunt toevoegen om het nog veiliger te maken, vb de enscrypty in de database van het wachtwoord. Weet iemand nog zo'n dingen vb op beveiliging van php.:s

6 antwoorden

Gesponsorde links
Offline Simon - 10/07/2007 14:47
Avatar van Simon PHP expert - md5() voor het wachtwoord
- addslashes() / mysql_real_escape_string() / ... voor $_POST en $_GET waarden wanneer je ze gebruikt in querys
- je kan user controleren met regex (a-z A-Z 0-9)
Offline webmaker - 10/07/2007 15:16
Avatar van webmaker PHP interesse wat is die regex om users te controleren 
Offline Wim - 10/07/2007 16:54
Avatar van Wim Crew algemeen regulaire expressies

een soort controle in welke vorm een string moet zijn. Ook handig om bvb een e-mail adres te controleren of dit aan de eisen voldoet (voor het @ teken letters/cijfers en een puntje optioneel, dan een @ teken, dan tekst/cijfers, dan een . dan nog 2-4 tekens)
Offline JBke - 10/07/2007 17:27 (laatste wijziging 10/07/2007 17:27)
Avatar van JBke PHP gevorderde dat zijn allemaal goede extra beveiligingen al is het belangrijkste mss niet vermeld. hoe controleer je op users. Sessie's en Cookies met database neem ik aan. Beste is een uniek session id te geven per user en deze op te slaan in de cookie en sessie, en ook enkel dit, je kan deze encrypteren met md5(sha1 als je wil. verder zet je ip, paswoord username enz enkel in je database. voordeel van deze manier is als de user cookies heeft afstaan , dit kan je testen, je de PHPSESSID kan meegeven in je url en dit toch veiolig is tegen Session hijacking.

Success.
Offline webmaker - 10/07/2007 18:09 (laatste wijziging 10/07/2007 18:09)
Avatar van webmaker PHP interesse JBke ik versta je niet helemaal, dus moet je de sessieid opslaan in een database en meeposten bij de login om te kijken of zijn cookies al dan niet aanstaan. Kun je dan niet gewoon de cookies wissen als de sessies gewist worden? Bij het uitloggen dus 
Offline JBke - 10/07/2007 18:17 (laatste wijziging 10/07/2007 18:25)
Avatar van JBke PHP gevorderde neen, dat bedoel ik niet. Je kan zelf de naam van de session id bepalen. Maak dus voor elke user een uniek session id aan en zet deze in de database. Je kan als volgd doen: doe een test of cookie: testcookie bestaat, zoniet maak aan. in je inlog syteem doe je terug een test op het bestaan van diezelfde cookie. indien die niet bestaat staan de cookies dus af en ga je de PHPSESSID doorgeven met de url.

voorbeeld van een soortgelijke code: opgelet is van oud inlog systeem niet echt veilig, wordt te veel opgeslagen in de cookie maar kan je wel het princiepe zien.

http://www.plaatscode.be/5969/

ga die code eens na, als de cookies af staan krijg je een url met de sessid meegegeven.

  1. <?php
  2. /* nagaan of de gebruiker zijn browser cookies aanvaard
  3.   testen of eerder aangemaakte cookie 'testcookie' aanwezig is.
  4. */
  5. if (isset($_COOKIE['testcookie'])) { // cookie aanwezig, url zonder SESSID instellen
  6. $_SESSION['url'] = $_SERVER['PHP_SELF'];
  7. $_SESSION['sid'] = "";
  8. } else { // cookie NIET aanwezig, url MET doorgeven SESSID instellen
  9. $_SESSION['sid'] = htmlspecialchars(sid);
  10. $_SESSION['url'] = $_SERVER['PHP_SELF'] . "?" . htmlspecialchars(sid);
  11. setrawcookie("testcookie", "test", time()+3600*24*365*30);
  12. }
  13.  
  14. // daarna krijg je ergens in je script
  15.  
  16. if (isset($_COOKIE[$cookie_name])) {
  17. $cookiedata = explode("/", $_COOKIE[$cookie_name]);
  18. // verder script zie plaatscode
  19. } else {
  20.  
  21. }
  22. ?>


redenatie achter de denkwijze is getest en werkt!! Enkel is het script op plaatscode ONVEILIG, is veranderd naar enkel uniek session id in de Cookie en Sessie maar die code geef ik niet vrij.

:D
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.172s