login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Reguliere expressie

Offline Jens - 23/02/2006 17:22 (laatste wijziging 23/02/2006 17:23)
Avatar van JensNieuw lid Ik zou willen dat een gebruikersnaam alleen uit letters (kleine en grote), cijfers en spaties mag bestaan. Volstaat dan het volgende, of is die niet veilig genoeg?

  1. <?php
  2. if(ereg("[[:punct:]]", $_POST['gebruikersnaam'])) {
  3. //Foute gebruikersnaam
  4. }
  5. ?>

6 antwoorden

Gesponsorde links
Offline MindPrison - 23/02/2006 18:22 (laatste wijziging 23/02/2006 18:23)
Avatar van MindPrison PHP gevorderde Ik controleer dit met preg_match(), de werking van ereg() ken ik niet echt. Onderstaande code zou moeten werken:

  1. <?php
  2. if(!preg_match("/^[a-zA-Z 0-9]+$/", $_POST["gebruikersnaam"]))
  3. {
  4. // Foute gebruikersnaam
  5. }
  6. ?>
Offline vinTage - 23/02/2006 18:30 (laatste wijziging 23/02/2006 18:32)
Avatar van vinTage Nieuw lid Ik heb er ook geen verstand van, maar ik heb dit even getest
  1. <?php
  2. $naam = "`DROP DATABASE` leden";
  3. if(ereg("[[:punct:]]", $naam)) {
  4. echo "foute naam";
  5. } else {
  6. echo $naam;
  7. }
  8.  
  9. //output = `DROP DATABASE` leden
  10. ?>

Dus veilig genoeg is het denk ik niet 

meer info regex
Offline Jens - 23/02/2006 18:34
Avatar van Jens Nieuw lid Ik bedoel alleen beveiliging tegen bepaalde karakters... Ik heb het script van Matthijs getest en dat werkt, bedankt 
Offline Joel - 23/02/2006 18:46
Avatar van Joel Eigenaar Als de output "`DROP DATABASE` leden" is, dan is er toch geen gevaar? Want er kunnen geen twee queries uitgevoerd worden in de functie mysql_query().
Offline Jens - 23/02/2006 19:50
Avatar van Jens Nieuw lid Hij bedoelt dat vast als voorbeeld, er zullen misschien wel andere dingen ingevoerd kunnen worden die wel schadelijk zijn 
Offline vinTage - 23/02/2006 20:29
Avatar van vinTage Nieuw lid neuh, ik ben echt zo slecht in php (but learning) 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.195s