我开始编写一个相当标准的Jsp应用程序。(Jsp, Oracle后台)。
应用程序的安全性很重要。那么,作为一个新手,我应该避免哪些常见的(也不常见的)陷阱呢?
基本上,它只是一些表单来获取用户输入和一些会话管理来根据用户角色显示数据。
这一讨论也可以作为未来用户的参考。
对
作为开始,你应该阅读例如http://advosys.ca/papers/web/61-web-security.html和https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project不要试图自己重新发明轮子。使用Spring Security等已建立的工具,而不是编写自己的角色管理。
一个常见的缺陷是通过连接字符串来创建SQL语句,其中一些字符串是由用户提供的,例如在表单字段中。千万不要那样做;用户可以输入一个值来改变语句的含义。这种攻击被称为SQL注入,非常常见。
为了防止它,总是使用准备好的语句,而不是手工地从字符串构造语句。