安全的在线应用程序

时间:2011-03-12 14:04:20

标签: web-applications security

我有一个web应用程序,它喜欢在线托管。用户登录包含一个散列密码,该密码保存在数据库中并通过代码验证,很简单,但对于拥有现场服务器的小型办公室来说,这是可以的。

但是,当我在线托管应用程序时,我不认为这是合适的。我曾考虑在apache中手动列出客户端IP地址,以阻止从其他计算机访问。

我还能做些什么来确保访问安全吗?可能是证书吗?

2 个答案:

答案 0 :(得分:2)

“用户登录是否包含哈希密码”是什么意思?您是否在会话cookie中使用哈希密码?好吧,无论如何,这是一些让你入门的要点:

  1. 仅使用HTTPS(使用有效证书)
  2. 不要使用共享主机(如果必须,请使用VPS)
  3. 在您的数据库中存储盐渍哈希值
  4. 如果db不在localhost上,则仅使用加密连接
  5. 使用安全且真正随机的会话ID
  6. 使您在服务器上的会话无效/失效
  7. 如果符合您的需要,您可以考虑客户证书
  8. 关注XSS,XSRF和类似漏洞
  9. 仅对任何更改任何状态或数据的内容使用POST请求
  10. 在POST参数中使用随机标记,以便更改任何状态或数据
  11. 不仅仅依赖于cookies
  12. 尽可能使用DNSSEC
  13. 这些只是帮助你入门的一些好的经验法则。

答案 1 :(得分:1)

首先:安全性不是为了使应用程序安全而需要附加的东西。这是一种态度或基本原则,需要在每个思想和每一行代码中加以考虑。

但除此之外:OWASP, the Open Web Application Security Project,维护Top 10 Most Critical Web Application Security Risks的列表。阅读它并尝试了解每个安全风险。这是开发安全Web应用程序时需要了解的基本知识(以“了解您的敌人”为口号)。

然后阅读OWASP Development Guide,其中介绍了有关如何开发安全Web应用程序的指南,并尝试将其建议应用于现有应用程序。