login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Je php code beveiligen (formulieren)

Offline Jootn - 01/06/2009 11:28
Avatar van JootnNieuw lid Goede middag samen.

Ik ben dus bezig aan een website voor een school... De code lukt goed, de werking ook maar mijn vraag is nu hoe ik het best mijn formulieren waar gebruikers dingen kunnen invullen beveilig.

htmlspecialchars enzo... Maar waar en wanneer doe ik dat? doe ik dat vanals je de variabele uit je post haalt ($_POST['var']) of doe ik dat pas als ik de variabelen uit de database haal en toon aan de gebruiker?

kheb beetje zitten zoeken hierover maar echt veel nuttige dingen vind ik niet. Ik wil mijn site dus optimaal beveiligen. Want het zijn nogal veel formulieren dat gebruikers zaken kunnen invullen

groeten

5 antwoorden

Gesponsorde links
Offline Bart - 01/06/2009 11:33
Avatar van Bart PHP expert http://www.site...XSS_Filter

Voordat je data opslaat in je DB dien je deze 'veilig' te maken, dus m.b.v. mysql_real_escape_string(). Daarna haal je data uit de db.
Offline Jootn - 01/06/2009 14:08
Avatar van Jootn Nieuw lid dus als ik mijn geposte variabelen eerst door die filter laat lopen en dan pas post in database zit ik veilig?

Moet er dan niets meer gebeuren als je het uit de datbaase haalt?
Offline Gerard - 01/06/2009 15:58
Avatar van Gerard Ouwe rakker Data moet altijd zo puur mogelijk de database in. Daarom wil ik je aanraden om alleen gebruik te maken van PHP.net: mysql_real_escape_string en pas bij het vertonen van gegevens uit de database gebruik te maken van filter functies.
Offline markla - 01/06/2009 20:27
Avatar van markla PHP interesse Zelf vond ik deze functie pas ergens.
Maar ik weet niet of dot de of een en oplossing is.  

  1. ///////////////////////////////////////////////
  2. //Preventing SQL Injection with MySQL and PHP//
  3. ///////////////////////////////////////////////
  4. function cleanQuery($string)
  5. {
  6. if(get_magic_quotes_gpc()) // prevents duplicate backslashes
  7. {
  8. $string = stripslashes($string);
  9. }
  10. if (phpversion() >= '4.3.0')
  11. {
  12. $string = mysql_real_escape_string($string);
  13. }
  14. else
  15. {
  16. $string = mysql_escape_string($string);
  17. }
  18. return $string;
  19. }
  20. // if you are using form data, use the function like this:
  21. //if (isset($_POST['itemID'])) $itemID = cleanQuery($_POST['itemID']);
  22.  
  23. // you can also filter the data as part of your query:
  24. //SELECT * FROM items WHERE itemID = '". cleanQuery($itemID)."' "
  25. ///////////////////////////////////////////////////////////////////////
  26. ?>
Offline Wave6 - 01/06/2009 21:32
Avatar van Wave6 PHP beginner mysql_escape_string(); addslashes();
Dat zijn een aantal goede functies om je form data te beveiligen.
Onthou goed doe dit ook met radio buttons en checkboxes;)
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.177s