热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

防SQL注入_PHP防SQL注入攻击

篇首语:本文由编程笔记#小编为大家整理,主要介绍了PHP防SQL注入攻击相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了PHP防SQL注入攻击相关的知识,希望对你有一定的参考价值。



php防SQL注入攻击 收藏

没有太多的过滤,主要是针对php和mysql的组合。

一般性的防注入,只要使用php的 addslashes 函数就可以了。

以下是一段copy来的代码:

PHP代码

$_POST = sql_injection($_POST);  

$_GET = sql_injection($_GET);  

 

function sql_injection($content)  

{  

if (!get_magic_quotes_gpc()) {  

if (is_array($content)) {  

foreach ($content as $key=>$value) {  

$content[$key] = addslashes($value);  

}  

} else {  

addslashes($content);  

}  

}  

return $content;  

}  

做系统的话,可以用下面的代码,也是copy来的。

PHP代码

     

function inject_check($sql_str) {      

  return eregi(‘select|insert|update|delete|\‘|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile‘, $sql_str);    // 进行过滤      

}      

     

     

function verify_id($id=null) {      

  if (!$id) { exit(‘没有提交参数!‘); }    // 是否为空判断      

  elseif (inject_check($id)) { exit(‘提交的参数非法!‘); }    // 注射判断      

  elseif (!is_numeric($id)) { exit(‘提交的参数非法!‘); }    // 数字判断      

  $id = intval($id);    // 整型化      

     

  return  $id;      

}      

     

     

function str_check( $str ) {      

  if (!get_magic_quotes_gpc()) {    // 判断magic_quotes_gpc是否打开      

    $str = addslashes($str);    // 进行过滤      

  }      

  $str = str_replace("_", "\_", $str);    // 把 ‘_‘过滤掉      

  $str = str_replace("%", "\%", $str);    // 把 ‘%‘过滤掉      

     

  return $str;      

}      

     

     

function post_check($post) {      

  if (!get_magic_quotes_gpc()) {    // 判断magic_quotes_gpc是否为打开      

    $post = addslashes($post);    // 进行magic_quotes_gpc没有打开的情况对提交数据的过滤      

  }      

  $post = str_replace("_", "\_", $post);    // 把 ‘_‘过滤掉      

  $post = str_replace("%", "\%", $post);    // 把 ‘%‘过滤掉      

  $post = nl2br($post);    // 回车转换      

  $post = htmlspecialchars($post);    // html标记转换      

     

  return $post;      

}  

推荐阅读
author-avatar
天堂寨旅游2013_668
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有