如何提高WEB系统的安全性

Thinking_In_IT 2009-08-18 01:55:50
目前使用JSP做一个中型网站,对于安全性是程序员应该重点考虑的问题之一:

麻烦各位CSDN上的支招,大家探讨一下WEB比较常见的安全问题吧。

我先开个头,例如典型的SQL注入。

例如使用JSP直接JDBC 连接 oracle,登录时 使用:

String sql =" select * from area where login_name ='" + id + "' And passwd='" + pwd + "' ";

login_name指的是用户名

如果我们在 id文本框输入: test' or '1'='1,组装的SQL就变成了

String sql =" select * from area where login_name ='test' or '1'='1' And passwd='" + pwd + "' ";

大家注意红色字体处,这样就通过SQL注入绕开了用户名和密码验证。

楼下继续

...全文
265 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
mgb690_2008 2009-08-18
  • 打赏
  • 举报
回复
web安全还涉及到网页的安全,篡改网页,合法替换成非法的,盗取用户名和密码,网上的金钱交易就很危险;利用电子签章技术,保障网页的安全;秘密数据千万不能使用明文传输,可以使用RSA,ECC和电子信封等技术保障秘密数据的安全,根据自己的需求选用不同的加密方法;
存在数据库的内容可以加密的话,推荐加密!防止管理员的一些非法操作。
如果是企业级的话,可以使用PKIH和PMI,进行身份认证和权限管理!
sams_wang 2009-08-18
  • 打赏
  • 举报
回复
楼主这种直接在jsp中执行SQL语句的做法是很不安全的,这种做法意见被证明有很大的安全隐患,一般的商业应用很少是这样,建议楼主先看看有关如何防止SQL注入漏洞的文章,网上有大把这方面的文章;
此外,WEB系统的安全,出来SQL注入漏洞之外,客户端、服务器之间的数据流安全也是一个比较大的问题,这个可以通过HTTPS进行解决,不过这样会影响性能,就看怎么进行取舍了;
还有一个就是关键数据的安全性,比如用户登录的帐号、密码、跟钱相关的银行卡帐号密码之类的数据,在从客户端传输给服务器之前就应该进行加密保护,而不是明文传输了
paizxin 2009-08-18
  • 打赏
  • 举报
回复
是不是可以用PreparedStatement这个类,SQL写成"?",之后用setInt()什么的拼SQL...我知识比较浅
李遒 2009-08-18
  • 打赏
  • 举报
回复
防止SQL注入用PreparedStatement不就OK了。
liujiaqiid 2009-08-18
  • 打赏
  • 举报
回复
代码加密 保护...
kahoho 2009-08-18
  • 打赏
  • 举报
回复
JSP资源放到WEB-INF下,,这样外部访问,不能随便恶意访问。。
abc164329042 2009-08-18
  • 打赏
  • 举报
回复
1. 硬件防火墙
2. 写代码注意一些 参数加验证 过滤 等等的.
obullxl 2009-08-18
  • 打赏
  • 举报
回复
参数中不能带有',=等.
临碣 2009-08-18
  • 打赏
  • 举报
回复
我说硬件防火墙!

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧