预防sql注入最佳方式(如何防止sql注入)

2026-09-07 09:00:01 0

预防sql注入最佳方式(如何防止sql注入)

“预防sql注入最佳方式”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看预防sql注入最佳方式(如何防止sql注入)!

本文目录

如何防止sql注入



***隐藏网址***
SQL注入攻击的总体思路:发现SQL注入位置;判断服务器类型和后台数据库类型;确定可执行情况
对于有些攻击者而言,一般会采取sql注入法。下面我也谈一下自己关于sql注入法的感悟。
注入法:从理论上说,认证网页中会有型如:select * from admin where username=‘XXX‘ and password=‘YYY‘ 的语句,若在正式运行此句之前,如果没有进行必要的字符过滤,则很容易实施SQL注入。如在用户名文本框内输入:abc’ or 1=1-- 在密码框内输入:123 则SQL语句变成:select * from admin where username=‘abc’ or 1=1 and password=‘123’ 不管用户输入任何用户名与密码,此语句永远都能正确执行,用户轻易骗过系统,获取合法身份。
***隐藏网址***
对于jsp而言我们一般采取一下策略来应对:
1、PreparedStatement如果你已经是稍有水平开发者,你就应该始终以PreparedStatement代替Statement.以下是几点原因 1)、代码的可读性和可维护性. 2)、PreparedStatement尽最大可能提高性能. 3)、最重要的一点是极大地提高了安全性.到目前为止,有一些人(包括本人)连基本的恶义SQL语法都不知道.String sql = "select * from tb_name where name= ‘"+varname+"‘ and passwd=‘"+varpasswd+"‘";如果我们把作为varpasswd传入进来,则:select * from tb_name = ‘随意‘ and passwd = ‘‘; drop table tb_name; 有些数据库是不会让你成功的,但也有很多数据库就可以使这些语句得到执行.而如果你使用预编译语句.你传入的任何内容就不会和原来的语句发生任何匹配的关系.(前提是数据库本身支持预编译,但上前可能没有什么服务端数据库不支持编译了,只有少数的桌面数据库,就是直接文件访问的那些只要全使用预编译语句,你就用不着对传入的数据做任何过虑.而如果使用普通的 statement,有可能要对drop,; 等做费尽心机的判断和过虑.
2、正则表达式 2.1、检测SQL meta-characters的正则表达式 /(\%27)|(\‘)|(\-\-)|(\%23)|(#)/ix 2.2、修正检测SQL meta-characters的正则表达式 /((\%3D)|(=))*((\%27)|(\‘)|(\-\-) |(\%3B)|(:))/i 2.3、典型的 SQL 注入攻击的正则表达式 /\w*((\%27)|(\‘))((\%6F)|o|(\%4F))((\%72)|r|(\ ))/ix 2.4、检测SQL注入,UNION查询关键字的正则表达式 /((\%27)|(\‘))union/ix(\%27)|(\‘) - 单引号和它的hex等值union - union关键字。 2.5、检测MS SQL Server SQL注入攻击的正则表达式 /exec(\s|\+)+(s|x)p\w+/ix
3、字符串过滤public static String filterContent(String content){String flt ="‘|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare|; |or|-|+|,";Stringfilter, "");}return content;}
4、不安全字符屏蔽
本部分采用js来屏蔽,起的作用很小,这样用屏蔽关键字的方法虽然有一定作用,但是在实际应用中这些 SQL的关键字也可能成为真正的查询关键字,到那是被你屏蔽了那用户不是不能正常的使用了。 只要在代码规范上下点功夫就可以了。凡涉及到执行的SQL中有变量时,用JDBC(或者其他数据持久层)提供的如:PreparedStatement就可以 ,切记不要用拼接字符串的方法就可以了.功能介绍:检查是否含有"‘","\\","/"参数说明:要检查的字符串返回值:0:是 1:不是函数名是function check(a){return 1;fibdn = new Array ("‘" ,"\\","/");i=fibdn.length;j=a.length;for (ii=0; ii { for (jj=0; jj
{ temp1=a.charAt(jj);temp2=fibdn;if (tem‘; p1==temp2){ return 0; }}}return 1;}
如何防止sql注入
标签:

web安全之如何防止SQL注入


SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击.
SQL注入原理当应用程序使用输入内容来构造动态sql语句以访问数据库时,会发生sql注入攻击。如果代码使用存储过程,而这些存储过程作为包含未筛选的用户输入的字符串来传递,也会发生sql注入。
sql注入可能导致攻击者使用应用程序登陆在数据库中执行命令。如果应用程序使用特权过高的帐户连接到数据库,这种问题会变得很严重。在某些表单中,用户输入的内容直接用来构造动态sql命令,或者作为存储过程的输入参数,这些表单特别容易受到sql注入的攻击。而许多网站程序在编写时,没有对用户输入的合法性进行判断或者程序中本身的变量处理不当,使应用程序存在安全隐患。这样,用户就可以提交一段数据库查询的代码, 根据程序返回的结果,获得一些敏感的信息或者控制整个服务器,于是sql注入就发生了。
如何防止SQL注入?永远不要信任用户的输入。对用户的输入进行校验,可以通过正则表达式,或限制长度的方式进行处理;然后对单引号和双"-"等敏感符号进行转换等。不要使用动态拼装sql,可以使用参数化的sql或者直接使用存储过程进行数据查询存取。永远不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接不要把机密信息直接存放,加密或者hash掉密码和敏感的信息。应用的异常信息应该给出尽可能少的提示,最好使用自定义的错误信息对原始错误信息进行包装。
相关教程:SQL视频教程

文章分享结束,预防sql注入最佳方式和如何防止sql注入的答案你都知道了吗?欢迎再次光临本站哦!

预防sql注入最佳方式(如何防止sql注入)

本文编辑:admin

更多文章:


index反义词(某些词语的反义词一问!急)

index反义词(某些词语的反义词一问!急)

“index反义词”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看index反义词(某些词语的反义词一问!急)!本文目录某些词语的反义词一问!急英语单词相应形式“凉爽”的反义词是什么指数   [zhǐ shù]什么意思近义词

2025年12月25日 19:30

linux就该这么学app(linux中@是什么意思)

linux就该这么学app(linux中@是什么意思)

本篇文章给大家谈谈linux就该这么学app,以及linux中@是什么意思对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录linux中@是什么意思小白学习前端的路线大概是怎样的安装linux过程中,显示器提示 超频linux中

2026年8月31日 14:15

set layer翻译(layer的意思)

set layer翻译(layer的意思)

大家好,set layer翻译相信很多的网友都不是很明白,包括layer的意思也是一样,不过没有关系,接下来就来为大家分享关于set layer翻译和layer的意思的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!本文目

2025年8月26日 04:00

clips4sale(Clips是什么软件)

clips4sale(Clips是什么软件)

本篇文章给大家谈谈clips4sale,以及Clips是什么软件对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录Clips是什么软件clips怎么读clips4sale怎么注册clips4sale上片子怎么买,具体点的说..一

2025年7月25日 12:00

android官网上的sdk页面为什么打不开?sdkdns官网去哪里了

android官网上的sdk页面为什么打不开?sdkdns官网去哪里了

大家好,今天小编来为大家解答以下的问题,关于sdk官网,android官网上的sdk页面为什么打不开这个很多人还不知道,现在让我们一起来看看吧!本文目录android官网上的sdk页面为什么打不开sdkdns官网去哪里了android官网上

2025年7月1日 06:45

tongesilea(冰河时代中文版歌词)

tongesilea(冰河时代中文版歌词)

大家好,关于tongesilea很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于冰河时代中文版歌词的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目录冰河时

2026年1月15日 01:00

用html设计一个漂亮的网页(如何将html页面设计得漂亮点,特别是字体的样式,有没有办法弄些比较炫的,或者在哪里可以找到漂亮的字体)

用html设计一个漂亮的网页(如何将html页面设计得漂亮点,特别是字体的样式,有没有办法弄些比较炫的,或者在哪里可以找到漂亮的字体)

各位老铁们,大家好,今天由我来为大家分享用html设计一个漂亮的网页,以及如何将html页面设计得漂亮点,特别是字体的样式,有没有办法弄些比较炫的,或者在哪里可以找到漂亮的字体的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注

2025年5月28日 18:30

推荐几个权威的手机论坛大神们帮帮忙?手机版天涯社区怎么发帖啊

推荐几个权威的手机论坛大神们帮帮忙?手机版天涯社区怎么发帖啊

这篇文章给大家聊聊关于手机版论坛,以及推荐几个权威的手机论坛大神们帮帮忙对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录推荐几个权威的手机论坛大神们帮帮忙手机版天涯社区怎么发帖啊手机版晋江的论坛为什么删除不了不再看ta机锋论坛

2026年9月1日 04:00

ios是什么?怎么看苹果的ios是几啊

ios是什么?怎么看苹果的ios是几啊

这篇文章给大家聊聊关于苹果ios,以及ios是什么对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录ios是什么怎么看苹果的ios是几啊ios是什么手机的型号苹果7怎么更新ios16苹果确认iOS16存漏洞影响新机激活,这会影响

2025年7月9日 07:00

xml文件丢失(bitcomet.xml文件消失了怎么办)

xml文件丢失(bitcomet.xml文件消失了怎么办)

本篇文章给大家谈谈xml文件丢失,以及bitcomet.xml文件消失了怎么办对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录bitcome

2026年4月4日 03:00

android网格布局图片(UI和安卓的布局分别是什么)

android网格布局图片(UI和安卓的布局分别是什么)

各位老铁们好,相信很多人对android网格布局图片都不是特别的了解,因此呢,今天就来为大家分享下关于android网格布局图片以及UI和安卓的布局分别是什么的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录UI和

2026年5月8日 12:45

ubuntu安装hadoop教程(在Ubuntu里面搭建四个节点内存怎么分配)

ubuntu安装hadoop教程(在Ubuntu里面搭建四个节点内存怎么分配)

其实ubuntu安装hadoop教程的问题并不复杂,但是又很多的朋友都不太了解在Ubuntu里面搭建四个节点内存怎么分配,因此呢,今天小编就来为大家分享ubuntu安装hadoop教程的一些知识,希望可以帮助到大家,下面我们一起来看看这个问

2025年7月12日 14:30

蜘蛛统计与分析(蜘蛛的种类及习性)

蜘蛛统计与分析(蜘蛛的种类及习性)

大家好,关于蜘蛛统计与分析很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于蜘蛛的种类及习性的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目录蜘蛛的种类及习

2026年7月24日 10:00

简单登录界面代码(登录界面代码怎么写)

简单登录界面代码(登录界面代码怎么写)

大家好,关于简单登录界面代码很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于登录界面代码怎么写的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目录登录界面代

2026年7月17日 07:30

学什么语言好(想学一门外语,学什么语种比较好)

学什么语言好(想学一门外语,学什么语种比较好)

大家好,今天小编来为大家解答以下的问题,关于学什么语言好,想学一门外语,学什么语种比较好这个很多人还不知道,现在让我们一起来看看吧!本文目录想学一门外语,学什么语种比较好学习什么语言最好就业学什么语言最好什么语言最好学现在学习什么语言最好就

2026年2月1日 19:15

nginx配置ip访问网站(如何在CloudFlare下Nginx实现访客真实IP网站日志)

nginx配置ip访问网站(如何在CloudFlare下Nginx实现访客真实IP网站日志)

本篇文章给大家谈谈nginx配置ip访问网站,以及如何在CloudFlare下Nginx实现访客真实IP网站日志对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了

2026年4月23日 09:30

div音乐术语(div音乐术语是什么意思)

div音乐术语(div音乐术语是什么意思)

这篇文章给大家聊聊关于div音乐术语,以及div音乐术语是什么意思对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录div音乐术语是什么意思合唱团中的div.是什么意思乐谱中的opt.div.是什么意思音乐术语“con sord

2026年5月3日 07:30

teammates的中文(八年级英语翻译中文)

teammates的中文(八年级英语翻译中文)

今天给各位分享八年级英语翻译中文的知识,其中也会对八年级英语翻译中文进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录八年级英语翻译中文帮忙翻译下面的中文.急用英语翻成中文 高分送上30句经典英语台词,有中文翻译

2026年8月30日 20:30

生活中常见的嵌入式产品(问:谈谈你在生活中用到了那些嵌入式的产品并简单说明原理 要写路由器的嵌入式原理,)

生活中常见的嵌入式产品(问:谈谈你在生活中用到了那些嵌入式的产品并简单说明原理 要写路由器的嵌入式原理,)

各位老铁们,大家好,今天由我来为大家分享生活中常见的嵌入式产品,以及问:谈谈你在生活中用到了那些嵌入式的产品并简单说明原理 要写路由器的嵌入式原理,的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最

2026年8月17日 23:15

table tennis读音(tabletennis怎么读)

table tennis读音(tabletennis怎么读)

大家好,关于table tennis读音很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于tabletennis怎么读的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮

2025年12月5日 00:30

近期文章

本站热文

electronics软件(labcenter electronics是什么软件)
2025-05-22 23:45:02 浏览:134
博客是微博吗(博客是微博吗)
2025-05-22 22:45:01 浏览:111
diversity and distribution(悬赏英语短文)
2025-05-23 16:15:02 浏览:107
ios软件开发前景(iOS就业前景怎么样)
2025-05-22 23:00:01 浏览:102
next month(有The next month这个单词吗,和 next month有什么区别)
2025-05-23 02:30:01 浏览:102
patron(patron是什么意思)
2025-05-23 10:30:02 浏览:95
标签列表

热门搜索