欢迎来到天天文库
浏览记录
ID:6785119
大小:34.50 KB
页数:2页
时间:2018-01-25
《最全防止sql注入方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、(1)mysql_real_escape_string--转义SQL语句中使用的字符串中的特殊字符,并考虑到连接的当前字符集 使用方法如下:1.$sql="selectcount(*)asctrfromuserswhereusername2.='".mysql_real_escape_string($username)."'and3.password='".mysql_real_escape_string($pw)."'limit1"; 使用 mysql_real_escape_string() 作为用户输入的包装器,就可以避免用户输
2、入中的任何恶意SQL注入。(2) 打开magic_quotes_gpc来防止SQL注入php.ini中有一个设置:magic_quotes_gpc=Off 这个默认是关闭的,如果它打开后将自动把用户提交对sql的查询进行转换, 比如把'转为'等,对于防止sql注射有重大作用。 如果magic_quotes_gpc=Off,则使用addslashes()函数(3)自定义函数 1.functioninject_check($sql_str){2.returneregi('select
3、insert
4、and
5、or
6、update
7、d
8、elete
9、'
10、/*
11、*
12、../
13、./
14、union
15、into
16、load_file
17、outfile',$sql_str);3.}4.5.functionverify_id($id=null){6.if(!$id){7.exit('没有提交参数!');8.}elseif(inject_check($id)){9.exit('提交的参数非法!');10.}elseif(!is_numeric($id)){11.exit('提交的参数非法!');12.}13.$id=intval($id);14.15.return$id;1
18、.}2.3. 4.functionstr_check($str){5.if(!get_magic_quotes_gpc()){6.$str=addslashes($str);//进行过滤7.}8.$str=str_replace("_","_",$str);9.$str=str_replace("%","%",$str);10.11.return$str;12.}13.14. 15.functionpost_check($post){16.if(!get_magic_quotes_gpc()){17.$post=addslashe
19、s($post);18.}19.$post=str_replace("_","_",$post);20.$post=str_replace("%","%",$post);21.$post=nl2br($post);22.$post=htmlspecialchars($post);23.24.return$post;25.}
此文档下载收益归作者所有