login  Naam:   Wachtwoord: 
Registreer je!
 Forum

mysql_real_escape_string genoeg?

Offline ikki007 - 07/04/2007 11:37
Avatar van ikki007Gouden medailleGouden medaille

PHP ver gevorderde
Hallo,
Is de functie mysql_real_escape_string() genoeg om een input te laten beveiligen zodat er geen sql injectie's oid uitgevoerd kunnen worden?
Of is er meer nodig.

~Ikki

5 antwoorden

Gesponsorde links
Offline Ibrahim - 07/04/2007 11:38
Avatar van Ibrahim PHP expert mysql_real_escape_string zal dus bij quotes een slash erachter zetten zodat kwaadaardige gastjes niet quotes kunnen gebruiken en de kans op SQL injections verkleind.
Offline mesynthetix - 07/04/2007 11:38 (laatste wijziging 07/04/2007 11:39)
Avatar van mesynthetix Nieuw lid Ja, dat is meestal genoeg. Zolang er maar quotes om die string staan. En als je weet dat iets een getal moet zijn, check dat gewoon met is_numeric.
Offline ikki007 - 07/04/2007 11:41 (laatste wijziging 07/04/2007 11:42)
Avatar van ikki007 Gouden medailleGouden medaille

PHP ver gevorderde
Hmm, is dit goed?
ff geprobeerd

  1. <?php
  2.  
  3. function saveInput($input) {
  4.  
  5. if(!is_numeric($input)) {
  6. $input = mysql_real_escape_string($input);
  7. }
  8.  
  9. return $input;
  10. }
  11. ?>
Offline Ibrahim - 07/04/2007 11:49
Avatar van Ibrahim PHP expert nee, want bij numerieke waarden horen geen quotes omheen en bij strings weer wel

dus als je een numerieke waarde in de URL verwacht bijv. check je gewoon bovenaan je pagina met is_numeric en kun je het gewoon in de query gebruiken als (int)$_GET['getal'] (om zo integer af te dwingen)

anders gewoon mysql_real_escape_string gebruiken
Offline ikki007 - 07/04/2007 11:54
Avatar van ikki007 Gouden medailleGouden medaille

PHP ver gevorderde
Dat doet mijn functie toch ook?
Als die !is_numeric is dan returnt die toch de gewone waarde?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.201s