php 防注入的方法,PHP防止SQL注入方法

本文介绍了两种PHP防止SQL注入的方法。方法一利用正则表达式检查SQL语句中的非法字符;方法二结合addslashes、str_replace和htmlspecialchars等函数过滤特殊字符。这些方法对于确保数据库查询的安全性至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PHP防止SQL注入方法

2019-08-12

94

我们在查询数据库时,出于安全考虑,需要过滤一些非法字符防止SQL恶意注入,请看一下函数:

方法一:

function injCheck($sql_str) {

$check = preg_match('/select|insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile/', $sql_str);

if ($check) {

echo '非法字符!!';

exit;

} else {

return $sql_str;

}

}

使用方法如下:

echo injCheck('1 or 1=1');

方法二:

function checkme($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;

}

分享到:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值