温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么在php项目中防止sql注入

发布时间:2021-01-26 15:20:48 阅读:159 作者:Leah 栏目:开发技术
PHP开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

这期内容当中小编将会给大家带来有关怎么在php项目中防止sql注入,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

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;
}

上述就是小编为大家分享的怎么在php项目中防止sql注入了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×