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 加密解密。
本文来自博客园,作者:帅气的涛啊,转载请注明原文链接:https://www.cnblogs.com/handsometaoa/p/14304153.html