资源描述:
《sql注入原理及php防注入代码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1、基本概念php.ini文件中的一个设置:magic_quotes_gpc。此设置默认是关闭的,即magic_quotes_gpc=off,一般将其设置为on。为on时,php应用程序服务器将自动把用户提交的对SQL的查询进行转换,比如吧“’”转化为“’”,它的作用是在敏感字符前加一个反斜杠“”,这对防止SQL注入有重大作用。函数addslashes()作用是在所有外部数据敏感字符’(单引号)、(反斜杠)、NUL的前面加上反斜杠。函数intval()作用是将数据类型转化为整型。注意:在新版本PHP中,即使magic_quotes_gpc设成了on,在
2、使用addslashes()函数来处理时不会出现冲突的,可以大胆使用。2、sql漏洞注入原理基础过滤和二次过滤一般情况下,在获得用户提交的参数时,首先要进行一些基础性的过滤,然后再根据程序的响应的功能以及用户输入进行二次过滤。在所有用户输入处对敏感字符进行过滤,敏感字符如下:"\","&","","'","/","*",",","<",">","r","t","","#","$","(",")","%","@","+","?",";","^","--","and","or","select","update"在javascript中使用代码过滤敏感
3、字符串:标题页functioncheck(inputStr){if(typeof(inputStr)!="string"){returninputStr;}//判断是否是字符串类型vartmpValue=inputStr;//以下搜索字符串中的特殊字符,如果存在,则替换成""while(tmpValue.indexOf(';')>-1){tmpValue=tmpValue.re
4、place(';','');}while(tmpValue.indexOf('<')>-1){tmpValue=tmpValue.replace('<','');}while(tmpValue.indexOf('>')>-1){tmpValue=tmpValue.replace('>','');}while(tmpValue.indexOf('--')>-1){tmpValue=tmpValue.replace('--','');}while(tmpValue.indexOf(",")>-1){tmpValue=tmpValue.replace(",",""
5、);}while(tmpValue.indexOf("'")>-1){tmpValue=tmpValue.replace("'","");}while(tmpValue.indexOf("?")>-1){tmpValue=tmpValue.replace("?","");}document.getElementById("txt1").value=tmpValue;//重新显示更改后的变量}
6、=zhang'andpasswrod=2"style="width:392px">