php 防sql注入方法

互联网 20-11-2

php防sql注入的方法:1、使用mysql_real_escape_string方法转义SQL语句中使用的字符串中的特殊字符;2、打开magic_quotes_gpc来防止SQL注入;3、通过自定义函数防sql注入。

推荐:《PHP视频教程》

PHP+Mysql防止SQL注入的方法

这篇文章介绍的内容是关于PHP+Mysql防止SQL注入的方法:

方法一:

mysql_real_escape_string -- 转义 SQL 语句中使用的字符串中的特殊字符,并考虑到连接的当前字符集 !

$sql = "select count(*) as ctr from users where username ='".mysql_real_escape_string($username)."' and password='". mysql_real_escape_string($pw)."' limit 1";

方法二:

打开magic_quotes_gpc来防止SQL注入。php.ini中有一个设置:magic_quotes_gpc = Off这个默认是关闭的,如果它打开后将自动把用户提交对sql的查询进行转换,比如把 ' 转为 \'等,对于防止sql注射有重大作用。

如果magic_quotes_gpc=Off,则使用addslashes()函数。

方法三:

自定义函数

/** * 防止sql注入自定义方法一 * author: xiaochuan * @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注入自定义方法二 * author: xiaochuan * @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注入自定义方法三 * author: xiaochuan * @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+Mysql防止SQL注入的方法的详细内容

以上就是php 防sql注入方法的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: sql
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:php utf8如何转unicode

相关资讯