如何防止sql注入 如何防止sql注入式攻击
关于如何防止sql注入,如何防止sql注入式攻击这个很多人还不知道,今天源源来为大家解答以上的问题,现在让我们一起来看看吧!
如何防止sql注入 如何防止sql注入式攻击
如何防止sql注入 如何防止sql注入式攻击
1、SQL注入就像物理的误,是不可以防止的,只可能做到状态。
2、有的办法还怕SQL注入?这个世界有的事情么,想一劳永易?那是不可能的楼上两条很中肯如果再把数据库权限设置的更细点就好了,比如读写,对系统表,系统关键存储过程访问等病从口入,SQL注入也是根据使用者输入特殊字符而导致的。
3、而限制用户的输入并不是一个很好的办法,的办法就是在格式化用户输入的字符,最终形成一个理想的SQL查询语句,我用的是ASP写了一个函数,用来转换用户提交的数据,杜绝用户SQL注入行为。
4、如果使用的是其他语言可以仿照改写一下。
5、Function CData(ByVal strWord, ByVal intType)On Error Resume NextSelect Case intTypeCase 0CData = 0If IsNumeric(strWord) Then If strWord Then CData = 1Case 1CData = 0If IsNumeric(strWord) Then CData = CInt(CByte(strWord))Case 2CData = 0If IsNumeric(strWord) Then CData = CInt(strWor$accountId = $_GET['account_id'];d)Case 3CData = 0If IsNumeric(strWord) Then CData = CLng(strWord)Case 4CData = 0If IsNumeric(strWord) Then CData = CCur(strWord)Case 5CData = Now()Case 6CData = ""If strWord > "" Then CData = Replace(Replace(strWord, CHR(0), ""), "'", "''")Case 7If strWord > "" ThenstrWord = Replace(strWord, CHR(0), "")strWord = Replace(strWord, "'", "''")strWord = Replace(strWord, "[", "[[]")strWord = Replace(strWord, "%", "[%]")CData = Replace(strWord, "_", "[_]")ElseCData = ""End IfCase ElseCData = ""If strWord > "" Then CData = CStr(strWord)End SelectOn Error Goto 0End Function不使用数据库全部静态页面比如设定输入长度,检查关键字等等1$str=str_replace("2 转换为int类型如 id = Convert.ToInt32(Request.QueryString["id"]);。
本文到这结束,希望上面文章对大家有所帮助。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系 836084111@qq.com 删除。