login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Extra beveiliging bij login

Offline DMM - 05/05/2007 12:02
Avatar van DMMPHP beginner Hallo,

Bij een loginsysteem zou ik graag een nieuwe beveiliging toevoegen: nl. dat als je 3 keer de verkeerde gegevens intypt, je niet langer kunt proberen om in te loggen.
Alleen weet ik niet echt hoe ik moet optellen hoeveel keer de gebruiker geprobeerd heeft om in te loggen.
Kunnen jullie mij enkele ideeën geven om mij op weg te helpen?

Alvast bedankt

13 antwoorden

Gesponsorde links
Offline CDNC - 05/05/2007 12:07
Avatar van CDNC PHP ver gevorderde in een sessie het aantal keer bijhouden...
Offline DMM - 05/05/2007 12:25
Avatar van DMM PHP beginner En hoe moet dat dan precies?
Offline JBke - 05/05/2007 12:32 (laatste wijziging 05/05/2007 13:44)
Avatar van JBke PHP gevorderde bovenaan je script zet je het volgende:

  1. <?php
  2. $max = 3;
  3.  
  4. if (isset($_SESSION['aantalkeer'])) {
  5. $_SESSION['aantalkeer'] += 1;
  6. } else {
  7. $_SESSION['aantalkeer'] = 0;
  8. }
  9. ?>


in je body doe je dan gewoon een controle hierop als volgd:
  1. <?php
  2. // testen of aantal keer overschreden is
  3. if ($_SESSION['aantalkeer'] >= $max) {
  4. echo 'aantal keren overschreden!';
  5. } else {
  6. ?>
  7. je formulier hier
  8. <?php
  9. } // accolade van je if ... else niet vergeten te sluiten
  10. ?>


hopelijk geraak je er wijs uit

Grtz

@hiebeneden: idd anders gaat hij ook optellen bij andere bewerkingen dan het doorsturen van je form.
Offline DMM - 05/05/2007 12:52
Avatar van DMM PHP beginner Bedankt
Offline radem205 - 05/05/2007 13:34 (laatste wijziging 05/05/2007 13:38)
Avatar van radem205 Nieuw lid Je moet de controle wel pas uitvoeren op het moment dat het inlogformulier gesubmit wordt, dus:

  1. <?
  2. $max = 3;
  3.  
  4. if($_SERVER['REQUEST_METHOD']=='POST') {
  5. if (isset($_SESSION['aantalkeer'])) {
  6. $_SESSION['aantalkeer'] += 1;
  7. } else {
  8. $_SESSION['aantalkeer'] = 0;
  9. }
  10. }
  11. ?>

Offline ikkedikke - 05/05/2007 17:22
Avatar van ikkedikke PHP expert Dit heeft geen zin voor geautomatiseerde crackpogingen he. Een sessie wordt namelijk doorgegeven dmv een cookie. Ik denk niet dat die kwaadwillend persoon er bij na denkt om zijn sessie wel te houden.
Offline JBke - 05/05/2007 20:15 (laatste wijziging 05/05/2007 20:18)
Avatar van JBke PHP gevorderde ja dat is nieuw, sessies zijn op de server en NIET via COOKIES, COOKIE is client-side en SESSION is server-side, een COOKIE wijzigen, verwijderen of namaken is geen probleem, met een sessie is dat anders dacht ik toch. Kan jij een SESSIE wijzigen dmv een COOKIE?? Oom een SESSION te stoppen moet je idd enkel maar je browser sluiten en terug openen. Maja alle beetjes helpen he.

Grtz.
Offline Stijn - 05/05/2007 20:19
Avatar van Stijn PHP expert @JBke: je voorbeeld is verkeerd! Als $max = 3 zet dan kan ik 4 keer de pagina zien.

  1. <?php
  2. $max = 3;
  3.  
  4. if (isset($_SESSION['aantalkeer'])) {
  5. $_SESSION['aantalkeer'] += 1;
  6. } else {
  7. //$_SESSION['aantalkeer'] = 0;
  8. //0 ... 1 ... 2 ... 3 -> 4 keer :)
  9. $_SESSION['aantalkeer'] = 1;
  10. }
  11. ?>
Offline ikkedikke - 05/05/2007 22:31
Avatar van ikkedikke PHP expert Nee, een sessie heeft een naam, en is daaronder opgeslagen op de server. Aanpassen is niet mogelijk.
de server gebruikt echter een cookie om de sessie voort te laten bestaan. Daarin wordt namelijk de naam opgeslagen van de huidige sessie. Een sessie weglaten kan dus wel!
Offline DMM - 18/05/2007 19:40
Avatar van DMM PHP beginner Oké, bedankt voor al deze info. Ik heb dan nu het volgende ingesteld:

Indien je 3 keer verkeerd inlogt (daar heb ik het bovenstaande script voor gebruikt), dan wordt het IP adres van desbetreffende persoon opgeslaan. Wanneer deze persoon later nog eens terugkomt op de site, zal hij geen toegang krijgen tot het login-gedeelte.

100% veilig is het volgens mij nog niet aangezien er veel mensen zijn met een dynamisch IP adres. Kunnen jullie mij iets beters adviseren?
Offline nemesiskoen - 18/05/2007 20:34
Avatar van nemesiskoen Gouden medaille

PHP expert
username + ip => database, you do the logic:-)
Offline DMM - 20/05/2007 11:43
Avatar van DMM PHP beginner Nja Bedankt

Maar stel nu: Op een bepaald moment ben ik er van overtuigd dat iemand mijn site probeert te hacken. Zijn IP adres heb ik opgeslagen. Maar wat moet ik met dat adres dan precies doen? Ik meende ergens gelezen te hebben dat je het dan moet doorgeven aan een Internet Provider of iets dergelijks? Klopt dat?
Offline ikkedikke - 20/05/2007 16:54
Avatar van ikkedikke PHP expert door de hostnaam op te zoeken van het IP kan je inderdaad de provider achterhalen. ook vind je dan meestal een adres om misbruik aan te melden. daar moet je dan naar mailen.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.214s