SQL注入与防范

SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息

比如:

"select * from user where num= '"+ stunum + "'and password ='" + password +"';"

一般来说需要用户名、密码同时正确时,才可以获取数据。但是当用户名输入为 “ 用户名';--”时,sql语句就变成了

select * from user where num= '用户名';-- and password='密码';

此时--后面的密码当作了sql注释语句,现在可以不使用密码进行登录。

使用Java中PreparedStatement能够有效防止SQL注入

 

 

 

其他严格注意事件:

1.严格数据库管理权限

2.封装数据库错误,任何时间不能将数据库错误暴露给用户

3.机密信息禁止明文存储,mysql使用AES_ENCRYPT/AES_DECRYPT 加密解密。

posted @   帅气的涛啊  阅读(99)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示