php请求数据如何防sql注入


php请求数据防sql注入的方法:

1.mysql_real_escape_string,转义sql语句中使用字符串中的特殊字符

2.使用addslashes()函数将php.ini中的“magic_quotes_gpc = Off”这个设置打开,例如:

$sql = "select count(*) as ctr from users where username

='".mysql_real_escape_string($username)."' and

password='". mysql_real_escape_string($pw)."' limit 1";

3.可自定义函数进行防止,例如:

/**

* 防止sql注入自定义方法一

* @param: mixed $value 参数值

*/ function check_param($value=null) {# select|insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile$str = 'select|insert|and|or|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile';

if(!$value) {exit('没有参数!');}elseif(eregi($str, $value)) {exit('参数非法!');}return true;}

/**

* 防止sql注入自定义方法二

* @param: mixed $value 参数值

*/function str_check( $value ) {if(!get_magic_quotes_gpc()) {// 进行过滤$value = addslashes($value);

}

$value = str_replace("_", "\_", $value);

$value = str_replace("%", "\%", $value);

return $value;}

/**

* 防止sql注入自定义方法三

* @param: mixed $value 参数值

*/

function post_check($value) {if(!get_magic_quotes_gpc()) {

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

}$value = str_replace("_", "\_", $value);

$value = str_replace("%", "\%", $value);

$value = nl2br($value);

$value = htmlspecialchars($value);

return $value;}


上一篇:宝塔建站如何绑定数据库

下一篇:小程序审核页面功能怎么选


php sql注入
Copyright © 2002-2019 测速网 www.inhv.cn 皖ICP备2023010105号
测速城市 测速地区 测速街道 网速测试城市 网速测试地区 网速测试街道
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!

热门搜索 城市网站建设 地区网站制作 街道网页设计 大写数字 热点城市 热点地区 热点街道 热点时间 房贷计算器