雅安论坛

标题: 防止sql和XSS注入代码 [打印本页]

作者: 匿名    时间: 2021-5-8 14:06
标题: 防止sql和XSS注入代码
  1. 防止sql注入的函数,过滤掉那些非法的字符,提高sql安全性,同时也可以过滤XSS的攻击。
  2. function zhuru($str)
  3. {
  4.     if (empty($str)) return false;
  5.     $str = htmlspecialchars($str);
  6.     $str = str_replace( '/', "", $str);
  7.     $str = str_replace( '"', "", $str);
  8.     $str = str_replace( '(', "", $str);
  9.     $str = str_replace( ')', "", $str);
  10.     $str = str_replace( 'CR', "", $str);
  11.     $str = str_replace( 'ASCII', "", $str);
  12.     $str = str_replace( 'ASCII 0x0d', "", $str);
  13.     $str = str_replace( 'LF', "", $str);
  14.     $str = str_replace( 'ASCII 0x0a', "", $str);
  15.     $str = str_replace( ',', "", $str);
  16.     $str = str_replace( '%', "", $str);
  17.     $str = str_replace( ';', "", $str);
  18.     $str = str_replace( 'eval', "", $str);
  19.     $str = str_replace( 'open', "", $str);
  20.     $str = str_replace( 'sysopen', "", $str);
  21.     $str = str_replace( 'system', "", $str);
  22.     $str = str_replace( ', "", $str);
  23.     $str = str_replace( "'", "", $str);
  24.     $str = str_replace( "'", "", $str);
  25.     $str = str_replace( 'ASCII 0x08', "", $str);
  26.     $str = str_replace( '"', "", $str);
  27.     $str = str_replace( '"', "", $str);
  28.     $str = str_replace("", "", $str);
  29.     $str = str_replace("&gt", "", $str);
  30.     $str = str_replace("&lt", "", $str);
  31.     $str = str_replace("<SCRIPT>", "", $str);
  32.     $str = str_replace("</SCRIPT>", "", $str);
  33.     $str = str_replace("<script>", "", $str);
  34.     $str = str_replace("</script>", "", $str);
  35.     $str = str_replace("select","",$str);
  36.     $str = str_replace("join","",$str);
  37.     $str = str_replace("union","",$str);
  38.     $str = str_replace("where","",$str);
  39.     $str = str_replace("insert","",$str);
  40.     $str = str_replace("delete","",$str);
  41.     $str = str_replace("update","",$str);
  42.     $str = str_replace("like","",$str);
  43.     $str = str_replace("drop","",$str);
  44.     $str = str_replace("DROP","",$str);
  45.     $str = str_replace("create","",$str);
  46.     $str = str_replace("modify","",$str);
  47.     $str = str_replace("rename","",$str);
  48.     $str = str_replace("alter","",$str);
  49.     $str = str_replace("cas","",$str);
  50.     $str = str_replace("&","",$str);
  51.     $str = str_replace(">","",$str);
  52.     $str = str_replace("<","",$str);
  53.     $str = str_replace(" ",chr(32),$str);
  54.     $str = str_replace(" ",chr(9),$str);
  55.     $str = str_replace("    ",chr(9),$str);
  56.     $str = str_replace("&",chr(34),$str);
  57.     $str = str_replace("'",chr(39),$str);
  58.     $str = str_replace("<br />",chr(13),$str);
  59.     $str = str_replace("''","'",$str);
  60.     $str = str_replace("css","'",$str);
  61.     $str = str_replace("CSS","'",$str);
  62.     $str = str_replace("<!--","",$str);
  63.     $str = str_replace("convert","",$str);
  64.     $str = str_replace("md5","",$str);
  65.     $str = str_replace("passwd","",$str);
  66.     $str = str_replace("password","",$str);
  67.     $str = str_replace("../","",$str);
  68.     $str = str_replace("./","",$str);
  69.     $str = str_replace("Array","",$str);
  70.     $str = str_replace("or 1='1'","",$str);
  71.     $str = str_replace(";set|set&set;","",$str);
  72.     $str = str_replace("`set|set&set`","",$str);
  73.     $str = str_replace("--","",$str);
  74.     $str = str_replace("OR","",$str);
  75.     $str = str_replace('"',"",$str);
  76.     $str = str_replace("*","",$str);
  77.     $str = str_replace("-","",$str);
  78.     $str = str_replace("+","",$str);
  79.     $str = str_replace("/","",$str);
  80.     $str = str_replace("=","",$str);
  81.     $str = str_replace("'/","",$str);
  82.     $str = str_replace("-- ","",$str);
  83.     $str = str_replace(" -- ","",$str);
  84.     $str = str_replace(" --","",$str);
  85.     $str = str_replace("(","",$str);
  86.     $str = str_replace(")","",$str);
  87.     $str = str_replace("{","",$str);
  88.     $str = str_replace("}","",$str);
  89.     $str = str_replace("-1","",$str);
  90.     $str = str_replace("1","",$str);
  91.     $str = str_replace(".","",$str);
  92.     $str = str_replace("response","",$str);
  93.     $str = str_replace("write","",$str);
  94.     $str = str_replace("|","",$str);
  95.     $str = str_replace("`","",$str);
  96.     $str = str_replace(";","",$str);
  97.     $str = str_replace("etc","",$str);
  98.     $str = str_replace("root","",$str);
  99.     $str = str_replace("//","",$str);
  100.     $str = str_replace("!=","",$str);
  101.     $str = str_replace("[        DISCUZ_CODE_0        ]quot;,"",$str);
  102.     $str = str_replace("&","",$str);
  103.     $str = str_replace("&&","",$str);
  104.     $str = str_replace("==","",$str);
  105.     $str = str_replace("#","",$str);
  106.     $str = str_replace("@","",$str);
  107.     $str = str_replace("mailto:","",$str);
  108.     $str = str_replace("CHAR","",$str);
  109.     $str = str_replace("char","",$str);
  110.     return $str;
  111. }


  112. 更加简便的防止sql注入的方法:

  113. if (!get_magic_quotes_gpc()) // 判断magic_quotes_gpc是否为打开     
  114. {     
  115.     $post = addslashes($name); // magic_quotes_gpc没有打开的时候把数据过滤     
  116. }     

  117. $name = str_replace("_", "\_", $name); // 把 '_'过滤掉   
  118.    
  119. $name = str_replace("%", "\%", $name); // 把' % '过滤掉     

  120. $name = nl2br($name); // 回车转换     

  121. $name= htmlspecialchars($name); // html标记转换   
  122.      
  123. return $name;
复制代码

作者: 本站网友    时间: 2021-5-8 14:13
如何使用呢




欢迎光临 雅安论坛 (https://www.yaanbbs.net/) Powered by Discuz! X3.4