Вход Регистрация
* ExPeRT

защита от sql инекций

  1. <?php
  2. defined('PROTECTOR') or die('Error: restricted access');
  3. class InitVars {
  4. # Недопустимые слова в запросахINSERT
  5. var $deny_words = array('UNION','CHAR','INSERT','DELETE','SELECT','UPDATE','GROUP','ORDER','BENCHMARK','union','char','insert','delete','select','update','group','order','benchmark','UNIOu','UNIoN','UNiON','UnION','uNION','uNIOn','uNIoN','uNiON','unION','uniOn','UNIon','uNiOn','UNion','UnIoN','UnIon','unIoN','DELETe','DELEte','DELete','DElete','Delete','dELETE','deLETE','deleTE','delETE','DeLeTe','dElEtE','dElETE','DELeTe','DElETE','DeLETE','DELEtE','DEletE','DeleTE','DelETE','DEleTE','DELetE','CHAr','CHaR','ChAR','cHAR','chAR','CHar','CahR','chAr','cHAr','chAR','ChAr','INSERt','INSErT','INSeRT','INsERT','InSERT','iNSERT','INSErt','INSerT','INseRT','InsERT','inSERT','INSert','INserT','InseRT','insERT','INsert','InserT','inseRT','Insert','insertT','SELECt','SELEcT','SELeCT','SElECT','SeLECT','sELECT','SELEct','SELecT','SEleCT','SelECT','seLECT','SELect','SElecT','SeleCT','selECT','SElect','SelecT','seleCT','Select','selectT'
  6. ,'GROUP','GROUp','GROuP','GRoUP','GrOUP','gROUP','GROup','GRouP','GroUP','grOUP','GRoup','GrouP','groUP','Group','grouP','ORDEr','ORDeR','ORdER','OrDER','oRDER','ORDer','ORdeR','OrdER','orDER','ORder','OrdeR','ordER','Order','ordeR','UPDATe','UPDAtE','UPDaTE','UPdATE','UpDATE','uPDATE','UPDAte','UPDatE','UPdaTE','UpdATE','upDATE','UPDate','UPdatE','UpdaTE','updATE','UPdate','UpdatE','updaTE','Update','updatE','BENCHMARK','BENCHMARk','BENCHMArK','BENCHMaRK','BENCHmARK','BENChMARK','BENcHMARK','BEnCHMARK','BeNCHMARK','bENCHMARK','BENCHMArk','BENCHMarK','BENCHmaRK','BENChmARK','BENchMARK','BEncHMARK','BenCHMARK','beNCHMARK','BENCHMark','BENCHmarK','BENChmaRK','BENchmARK','BEnchMARK','BencHMARK','benCHMARK','BENCHmark','BENChmarK','BENchmaRK','BEnchmARK','BenchMARK','bencHMARK','BENChmark','BENchmarK'
  7. ,'BENchmarK','BEnchmaRK','BenchmARK','benchMARK','BENchmark','BEnchmarK','BenchmaRK','benchmARK','BEnchmark','BenchmarK','benchmaRK','Benchmark','benchmarK','BeNcHmArK','bEnChMaRk','BEnCHMaRK','BENChMaRK','truncate','TRUNCATE','TRUNCATe','TRUNCAtE','TRUNCaTE','TRUNcATE','TRUnCATE','TRuNCATE','TrUNCATE','tRUNCATE','TRUNCAte','TRUNCatE','TRUNcaTE','TRUncATE','TRunCATE','TruNCATE','trUNCATE','TRUNCate','TRUNcatE','TRUncaTE','TRuncATE','TrunCATE','truNCATE','TRUNcate','TRUncatE','TRuncaTE','TruncATE','trunCATE','TRUncate','TRuncatE','TruncaTE','truncATE','TRuncate','TruncateE','truncaTE','Truncate','truncatE'
  8. ,'groUp','grOup','gRoup','grOUp','gROup','gROUp','ordEr','orDer','oRder','orDEr','oRDer','oRDEr','updaTe','updAte','upDate','uPdate','updATe','upDAte','uPDate','upDATe','uPDAte','uPDATe','uniOn','unIon','uNion','unIOn','uNIon','uNIOn','chAr','cHar','cHAr','inseRt','insErt','inSert','iNsert','insERt','inSErt','iNSert','inSERt','iNSErt','iNSERt','seleCt','selEct','seLect','sElect','selECt','seLEct','sELect','seLECt','sELEct','sELECt','truncaTe','truncAte','trunCate','truNcate','trUncate','tRuncate','truncATe','trunCAte','truNCate','trUNcate','tRUncate','trunCATe','truNCAte','trUNCate','tRUNcate','truNCATe','trUNCAte','tRUNCate','trUNCATe','tRUNCAte','tRUNCATe'
  9. ,'GrOuP','gRoUp','GRoUp','GrOUp','OrDeR','oRdEr','gRouP','grOuP','OrDeR','orDeR','oRdeR','UpDaTe','uPdAtE','UPdAtE','uPDatE','upDAtE','UnIoN','uNiOn','uNIoN','UniOn','InSeRt','iNsErT','iNSeRt','InsErT','InSerT','iNsERt','sElEcT','SeLeCt','sELeCt','SelEcT','sElECt','SeLecT','deleTe','delEte','deLete','dElete','delETe','deLEte','dELete','deLETe','dELEte','dELETe','TrUnCaTe','tRuNcAtE','TRunCAte','trUNcaTE','tRUncATe','TruNCatE','trUNcaTE','TRunCAte','TRUnCATe','TRuNCAtE','tRUNcATE','TrUNCaTE','tRuncAte','TRuNcATE','BeNcHmArK','bEnChMaRk','BEncHMarK','beNCmArk','bENcHmARk','BenChMarK','BEncHmaRK','beNChMArk'
  10. ,'TRUNCATe','TRUNCAtE','TRUNCaTE','TRUNcATE','TRUnCATE','TRuNCATE','TrUNCATE','tRUNCATE','TRUNCAte','TRUNCatE','TRUNcaTE','TRUncATE','TRunCATE','TruNCATE','trUNCATE','TRUNCate','TRUNcatE','TRUncaTE','TRuncATE','TrunCATE','trunCATE','TRUncate','TRuncatE','TruncaTE','truncATE','TRuncate','TruncaE','truncaTE','Truncate','truncatE'
  11. );
  12. function InitVars() {
  13. }
  14.  
  15. # Метод конвентирует суперглобальные массивы $_POST, $_GET в перемнные
  16. # Например : $_GET['psw'] будет переобразовано в $psw с тем же значением
  17. /*function convertArray2Vars () { // убрал iNoY
  18.  
  19.   foreach($_GET as $_ind => $_val) {
  20.   global $$_ind;
  21.   if(is_array($$_ind)) $$_ind = htmlspecialchars(stripslashes($_val));
  22.   }
  23.  
  24.   foreach($_POST as $_ind => $_val) {
  25.   global $$_ind;
  26.   if(is_array($$_ind)) $$_ind = htmlspecialchars(stripslashes($_val));
  27.  
  28.   }
  29. }
  30. */
  31.  
  32. # Метод проверяет $_GET и $_POST переменные на наличие опасных данных и SQL инъекций
  33. function checkVars() {
  34. //Проверка опасных данных.
  35. foreach($_GET as $_ind => $_val) {
  36. $_GET[$_ind] = htmlspecialchars(stripslashes($_val));
  37.  
  38. $exp = explode(" ",$_GET[$_ind]);
  39. foreach($exp as $ind => $val) {
  40. if(in_array($val,$this->deny_words)) $this->antihack("Запрещено!Доступ закрыт!<br> Ваш ip адресс и браузер помечен! Админу отправлено сообщение!");
  41. }
  42. }
  43.  
  44. foreach($_POST as $_ind => $_val) {
  45. $_POST[$_ind] = htmlspecialchars(stripslashes($_val));
  46.  
  47. $exp = explode(" ",$_POST[$_ind]);
  48. foreach($exp as $ind => $val) {
  49. if(in_array($val,$this->deny_words)) $this->antihack("Запрещено!Доступ закрыт!<br> Ваш ip адресс и браузер помечен! Админу отправлено сообщение!");
  50. }
  51. }
  52.  
  53. }
  54.  
  55. function antihack($msg) {
  56. echo '<font color="red"><b>АНТИХАК: </b></font>'.$msg.'';
  57. $times = date("H:i:s");
  58. $date = date("d.m.Y");
  59.  
  60. $brauser=htmlspecialchars(stripslashes($_SERVER['HTTP_USER_AGENT']));
  61. $ip=htmlspecialchars(stripslashes($_SERVER['REMOTE_ADDR']));
  62. mysql_query("INSERT INTO `antihak` SET `ip` = '$ip', `brauser` = '$brauser'");
  63. mysql_query("INSERT INTO `msg_r` SET `user_from` = 'Система', `user_to` = 'Ваш Ник', `time` = '$times | $date', `read` = 1, `mail_msg` = ' пытались взломать! IP: $ip браузер: $brauser'");
  64. die;
  65. }
  66.  
  67. }
  68.  
  69.  
  70.  
  71. ?>
» Описание: защита от sql инекций, замените Ваш Ник на ваш ник)) )) ) вам придет смс когда ктото попытается взломать сайт, что с ним делать сами решите)
» Время добавления: 10 Авг 2015 в 16:51
» Посмотров: 2261
» textarea
» Рейтинг: [+2 | -9]
Комментарии [15]
Онлайн: 1
Реклама