加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java面试题解析之判断以及防止SQL注入

发布时间:2020-12-14 20:03:38 所属栏目:Java 来源:网络整理
导读:本文研究的主要是Java面试题中的一个比较常见的题目,判断及防止SQL注入的问题,具体介绍如下。 SQL注入是目前黑客最常用的攻击手段,它的原理是利用数据库对特殊标识符的解析强行从页面向后台传入。改变SQL语句结构,达到扩展权限、创建高等级用户、强行修

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

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

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

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

防止SQL注入其实也很简单

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

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

2.过滤特殊符号

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

当我们上传图片的时候

enctype=”multipart/form-data”
enctype=”multipart/form-data”

没有“/“,表单中enctype=”multipart/form-data”的意思,是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form- data,才能完整的传递文件数据,进行下面的操作.

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

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

4.数据库信息加密安全

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

使用JSP的时候要注意

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

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

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

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

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

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

总结

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

您可能感兴趣的文章:

  • SQL注入原理与解决方法代码示例
  • 通过ibatis解决sql注入问题
  • Win2003服务器防SQL注入神器--D盾_IIS防火墙
  • Sql注入工具_动力节点Java学院整理
  • Sql注入原理简介_动力节点Java学院整理
  • 寻找sql注入的网站的方法(必看)
  • 分享一个简单的sql注入
  • Mybatis防止sql注入的实例
  • Hibernate使用中防止SQL注入的几种方案
  • 有效防止SQL注入的5种方法总结
  • 关于SQL注入中文件读写的方法总结
  • 深入了解SQL注入

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读