uDesign
Bazaga yoziladigan malumotlarni filtrlash va tekshirish.

  1. function cleanInput($input) {
  2.  
  3. $search = array(
  4. '@<script[^>]*?>.*?</script>@si', // javascript kodlarni o`chiramiz
  5. '@<;[\/\!]*?[^<>]*?>@si', // HTML teglarni o`chiramiz
  6. '@<style[^>]*?>.*?</style>@siU', // css style teglarni o`chiramiz
  7. '@<![\s\S]*?--[ \t\n\r]*>@' // Ko`p qatarli komentarilarni o`chiramiz
  8. );
  9.  
  10. $output = preg_replace($search, '', $input);
  11. return $output;
  12. }
  13.  
  14. function sanitize($input) {
  15. if (is_array($input)) {
  16. foreach($input as $var=>$val) {
  17. $output[$var] = sanitize($val);
  18. }
  19. }
  20. else {
  21. $input = stripslashes($input);
  22. }
  23. $input = cleanInput($input);
  24. $output = mysql_real_escape_string($input);
  25. }
  26. return $output;
  27. }
  28.  
  29. // Ishlatish:
  30. $bad_string = "Salom. <script src='http://sayt.uz/script.js'></script> Bugun kun zo`r!";
  31. $good_string = sanitize($bad_string);
  32. /*
  33. $good_string chiqaradi: "Salom. Bugun kun zo`r!" bu yerda <script ko`di kesib tashlanadi va keyin bazaga yoziladi
  34. */
  35. /*
  36. Undan tashqari $_GET[] va $_POST[] larni tekshirsangiz bo`ladi.
  37. */
  38. $_POST = sanitize($_POST);
  39. $_GET = sanitize($_GET);