PHP最全防止sql注入方法
来源:互联网 发布:mysql update from 编辑:程序博客网 时间:2024/05/29 18:33
(1)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";
使用 mysql_real_escape_string() 作为用户输入的包装器,就可以避免用户输入中的任何恶意 SQL 注入。
(2) 打开magic_quotes_gpc来防止SQL注入
php.ini中有一个设置:magic_quotes_gpc = Off
这个默认是关闭的,如果它打开后将自动把用户提交对sql的查询进行转换,
比如把 ' 转为 \'等,对于防止sql注射有重大作用。如果magic_quotes_gpc=Off,则使用addslashes()函数
(3)自定义函数
- function inject_check($sql_str){
- return eregi('select|insert|and|or|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()){
- $str = addslashes($str);// 进行过滤
- }
- $str = str_replace("_","\_", $str);
- $str = str_replace("%","\%", $str);
- return $str;
- }
- function post_check($post){
- if(!get_magic_quotes_gpc()){
- $post = addslashes($post);
- }
- $post = str_replace("_","\_", $post);
- $post = str_replace("%","\%", $post);
- $post = nl2br($post);
- $post = htmlspecialchars($post);
- return $post;
- }
转载请注明地址: http://www.phpddt.com/php/228.html 尊重他人劳动成果就是尊重自己!
0 0
- 最全PHP防止sql注入方法
- PHP最全防止sql注入方法
- 最全防止sql注入方法
- 最全防止sql注入方法
- 最全防止sql注入方法
- 最全防止sql注入方法
- PHP防止SQL注入方法
- php中防止SQL注入的方法
- php中防止SQL注入的方法
- php中防止SQL注入的方法
- php 防止sql注入的简单方法
- php中防止SQL注入的方法
- php中防止SQL注入的方法
- PHP中防止SQL注入的方法
- php项目防止sql注入的方法
- PHP中防止SQL注入的方法
- PHP 防止 SQL 注入
- php防止sql注入
- echo,die(),print(),print_r(),var_dump()的区别
- Mysql数据库字符集问题
- 作为一个前端,可以如何机智地弄坏一台电脑?
- 彻底解决mysql中文乱码的办法
- php 上传大文件主要涉及配置upload_max_filesize和post_max_size两个选项。
- PHP最全防止sql注入方法
- Mysql 漏洞利用(越权读取文件,实战怎么从低权限拿到root密码)[转]
- php包含那点事情[WOOYUN]
- 如何在SAE搭建属于自己的黑盒xss安全测试平台
- 掌握下面常用函数,学php不再难
- 解决ThinkPHP中开启调试模式无法加载模块的问题。
- Django后台管理中上传的图片访问不了问题
- 通讯录实例
- 68. Pascal's Triangle II