Просмотр файла core/sql.php

Размер файла: 2.38Kb
  1. <?php
  2. class InitVars {
  3. # Недопустимые слова в запросахINSERT
  4. var $deny_words = array('UNION','CHAR','INSERT','DELETE','SELECT','UPDATE','GROUP','ORDER','BENCHMARK','union','char','insert','delete','select','update','group','order','benchmark');
  5. function InitVars() {
  6. }
  7. # Метод конвентирует суперглобальные массивы $_POST, $_GET в перемнные
  8. # Например : $_GET['psw'] будет переобразовано в $psw с тем же значением
  9. function convertArray2Vars () {
  10. foreach($_GET as $_ind => $_val) {
  11. global $$_ind;
  12. if(is_array($$_ind)) $$_ind = htmlspecialchars(stripslashes($_val));
  13. }
  14. foreach($_POST as $_ind => $_val) {
  15. global $$_ind;
  16. if(is_array($$_ind)) $$_ind = htmlspecialchars(stripslashes($_val));
  17. }
  18. }
  19. # Метод проверяет $_GET и $_POST переменные на наличие опасных данных и SQL инъекций
  20. function checkVars() {
  21. //Проверка опасных данных.
  22. foreach($_GET as $_ind => $_val) {
  23. $_GET[$_ind] = htmlspecialchars(stripslashes($_val));
  24. $exp = explode(" ",$_GET[$_ind]);
  25. foreach($exp as $ind => $val) {
  26. if(in_array($val,$this->deny_words)) $this->antihack("Запрещено!Доступ закрыт!<br>");
  27. }
  28. }
  29. foreach($_POST as $_ind => $_val) {
  30. $_POST[$_ind] = htmlspecialchars(stripslashes($_val));
  31. $exp = explode(" ",$_POST[$_ind]);
  32. foreach($exp as $ind => $val) {
  33. if(in_array($val,$this->deny_words)) $this->antihack("Запрещено!Доступ закрыт!<br>");
  34. }
  35. }
  36. }
  37. function antihack($msg) {
  38. echo '<div id="box"><img src="/img/s_get.gif" alt=""> Ошибка!</div>
  39. <div id="block">
  40. '.$msg.'<br />
  41. Отсоси хакер недоделаный!
  42. </div><div id="box"><img src="/img/home.png" alt="" /> <a href="/">На главную</a></div>';
  43. die;
  44. }
  45. }
  46. ?>