SQL注入是很烦人的的事情,这个漏洞一定要堵截住才行哦!现在小编就整理出了PHP写的防SQL注入代码,希望能对有需要的朋友有帮助!具体代码如下:
01.$_POST = sql_injection($_POST); 02.$_GET = sql_injection($_GET); 03. 04. 05. 06. 07.function sql_injection($content) 08.{ 09.if (!get_magic_quotes_gpc()) { 10.if (is_array($content)) { 11.foreach ($content as $key=>$value) { 12.$content[$key] = addslashes($value); 13.} 14.} else { 15.addslashes($content); 16.} 17.} 18.return $content; 19.} 20. 21. 22. 23. 24. 25. 26. 27. 28. 29.做系统的话,可以用下面的代码,也是copy来的: 30. 31. 32. 33. 34./* 35.函数名称:inject_check() 36.函数作用:检测提交的值是不是含有SQL注射的字符,防止注射,保护服务器安全 37.参 数:$sql_str: 提交的变量 38.返 回 值:返回检测结果,ture or false 39.*/ 40.function inject_check($sql_str) { 41.return eregi('select|insert|update|delete|'|/*|*|../|./|union|into|load_file|outfile', $sql_str); // 进行过滤 42.} 43. 44./* 45.函数名称:verify_id() 46.函数作用:校验提交的ID类值是否合法 47.参 数:$id: 提交的ID值 48.返 回 值:返回处理后的ID 49.*/ 50.function verify_id($id=null) { 51.if (!$id) { exit('没有提交参数!'); } // 是否为空判断 52.elseif (inject_check($id)) { exit('提交的参数非法!'); } // 注射判断 53.elseif (!is_numeric($id)) { exit('提交的参数非法!'); } // 数字判断 54.$id = intval($id); // 整型化 55. 56.return $id; 57.} 58. 59./* |