login  Naam:   Wachtwoord: 
Registreer je!
 Forum
Zoeken  Regels  Help
Categorieën > PHP & SQL

sql injection beveiliging

elecomte – 14/11/2008 18:30
Ik heb de volgende functie;

  1. <?php
  2. function quote_smart($value) {
  3. $value = stripslashes($value);
  4. }
  5. if(version_compare(phpversion(),"4.3.0") == "-1") {
  6. return mysql_escape_string($value);
  7. } else {
  8. return mysql_real_escape_string($value);
  9. }
  10. }
  11. ?>



Wat doet die version compare precies? Of hoe werkt het?
Of heeft iemand mss een betere function om variabelen die je wil in je database wil plaatsen te beveiligen tegen sql injection?

mvg

2 antwoorden

Gesponsorde links

Wim – 14/11/2008 18:35
mysql_real_escape_string gewoon... Je kan er ondertussen wel vanuit gaan dat een host php 4.3.0+ gebruikt, ze moesten nl al lang allemaal php5 ondersteunen... Met de komst van php6 lijkt php4 me overbodig...

PHP.net: version_compare kan het niet beter en duidelijker uitleggen

JBke – 15/11/2008 12:02 (Laatst gewijzigd op 15/11/2008 12:05)
Als je volledig veilig wil spelen kan je het volgende gebruiken maar zoals wimmarien zegt, normaal bij een goede host heb je dit allemaal niet meer nodig.

in je Application controller of gewoon ergens een functie zet je:

  1. <?php
  2. /**
  3.   * Strips slashes for $_GET, $_POST and $_COOKIE
  4.   */
  5. public static function superglobal_strip_slashes() {
  6. if (isset($_GET) && !empty($_GET)) {
  7. $result = Application::strip_slashes_recursive($_GET);
  8. $_GET = $result;
  9. }
  10. if (isset($_POST) && !empty($_POST)) {
  11. $result = Application::strip_slashes_recursive($_POST);
  12. $_POST = $result;
  13. }
  14. if (isset($_COOKIE) && !empty($_COOKIE)) {
  15. $result = Application::strip_slashes_recursive($_COOKIE);
  16. $_COOKIE = $result;
  17. }
  18. }
  19. /**
  20. * Recursively strip slashes from a value
  21. *
  22. * @param mixed $value
  23. */
  24. public static function strip_slashes_recursive(&$value) {
  25. $result = is_array($value) ? array_map(array('Application', 'strip_slashes_recursive'), $value) : stripslashes($value);
  26. return $result;
  27. }
  28. ?>



in je index of in je bootstrap, whatever zet je het volgende:

  1. <?php
  2. // Magic quote check
  3. $magicQuotesEnabled = (bool) ini_get('magic_quotes_gpc');
  4. if($magicQuotesEnabled === true) {
  5. Application::superglobal_strip_slashes();
  6. }
  7. ?>



Zo ben je zeker dat alles gestript word. 

Gesponsorde links

Dit onderwerp is gesloten.
Actieve forumberichten:

© 2002-2012 Sitemasters.be - Regels - Gehost door: Vircon - Laadtijd: 0.107s