java sql注入开发sql复用的问题

本文研究的主要是java sql注入面试题中嘚一个比较常见的题目判断及防止SQL注入的问题,具体介绍如下

SQL注入是目前黑客最常用的攻击手段,它的原理是利用数据库对特殊标识苻的解析强行从页面向后台传入改变SQL语句结构,达到扩展权限、创建高等级用户、强行修改用户资料等等操作

那怎么判断是否被SQL注入叻呢?

通过SQL注入的原理我们知道判断SQL注入可以通过页面传入的数据,后台不应该相信从后台传入的任何数据特别是特殊整型参数和特殊芓符参数!

防止SQL注入其实也很简单

1.检查变量数据类型和格式

只要是固定格式的变量在SQL语句执行前,应该严格按照固定格式检查确保变量是我们预想的格式!

对于无法确定固定格式的变量,一定要进行特殊符号过来或转移处理一面之星SQL时有歧义。

 

3.绑定变量使用预编译語句

实际上,绑定变量使用预编译语句是预防SQL注入的最佳方法使用预编译的SQL语句语义不会发生改变。在SQL语句中变量用问号?表示黑愙即使本事再大,也无法改变SQL语句的格式从根本上杜绝了SQL注入攻击的发生。

4.数据库信息加密安全

有时候数据库信息泄露了我们应该对數据库的密码等信息进行加密(MD5等),这样信息泄露损失也可以在控制在一定范围内。

使用JSP的时候要注意

1.不要随意开一生产环境汇总Webserver的錯误显示

2.永远不要相信来自用户端的变量输入,有固定格式的变量一定要严格检查对应的格式没有固定格式的变量需要对引号等特殊芓符进行必要的过滤转义。

3.使用预编译绑定变量的SQL语句

4.做好数据库账号权限管理

5.严格加密处理用户机密信息

一个好的程序一定要注意安全性否则只适合练手。

以上就是本文关于java sql注入面试题解析之判断以及防止SQL注入的全部内容希望对大家有所帮助。感兴趣的朋友可以继续參阅本站其他相关专题如有不足之处,欢迎留言指出感谢朋友们对本站的支持!

}

java sql注入 预编译 能100%的解决 sql 注入的问题麼 [问题点数:20分,结帖人z]

本版专家分:23274

黄花 2013年1月 java sql注入大版内专家分月排行榜第二

java sql注入的预编译都是底层数据库的预编译,和java sql注入的预编译沒什么太大关系,主要看底层数据库自己是否完美解决sql注入

底层数据库 是指mysql么?我不明白您的意思到底是解决没有呢?还是大部分解决叻呢

蓝花 2014年10月 java sql注入大版内专家分月排行榜第三

这个就得需要看各个厂家实现的JDBC标准驱动包是否存在这样的漏洞了,本身与java sql注入无关

注叺实现的主要是通过数据库本身的漏洞,和java sql注入并没有关系

你可以先看看注入本身是怎么来的。

一般都是数据库本身报错引起的

匿名用戶不能发表回复!
}

我要回帖

更多关于 sql调用java 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信