2009-10-07 71 views
0

我知道SO通常不是以这种方式使用(或者它可能是),但我一直在学习web应用程序的安全性,并认为从SO专家那里听到他们对此的看法是好的和鼓舞人心的文章(我正在阅读它,它是在会话安全)。保护会话

http://carsonified.com/blog/dev/how-to-create-bulletproof-sessions/

也许我们可以有某种形式的讨论,指出笔者误报/忘记什么更好的做法有哪些?

例如,当涉及到像sql注入这样的不同安全主题时,许多人推荐诸如mysql_real_escape_strings之类的东西,但专家会告诉你没有什么比准备好的语句更棒。从评论中,这篇文章似乎有其问题,所以我想知道他的内容在好或坏的方面有多远。

+0

这需要是一个社区wiki。请编辑您的问题并检查相应的框。 – 2009-10-07 21:28:26

+0

社区维基与问题具有相同的可见性吗? – Chris 2009-10-08 06:48:19

+0

@Chris,是的CW问题具有相同的可见性。 – 2009-10-09 17:07:11

回答

1

我认为这篇文章相当不错,但这些只是基本的概念,如果有人认真地尝试制作一个认真安全的应用程序,这样的事情将得到解决。换句话说,文章的水平很低。

像中间人攻击这样的问题在这里没有解决(尽管我可以想象这样的事情通常超出了应用层的范围)。另一个可能的漏洞可能是随机数生成。因此,根据会话密钥生成的实现,会话密钥的熵可能会低得多,因为可能或不可能实施暴力攻击的最大可能熵是可行的。

因此,它确实取决于您对解决方案的安全要求,因此没有单一的安全解决方案可以在任何情况下都能正常工作。要应用后者,假设你已经有了一个有效的会话ID,并且知道会话绑定在哪个IP上。还假定在这个例子中的目标是银行。现在我可以执行一个请求,将资金转入我的帐户,并通过欺骗我的IP地址并提供被盗会话来完成此项工作。好的,我的请求的答复将永远不会到达,因为IP地址被欺骗了,但是谁在乎,我从服务器接受我的请求那里得到了钱。

问题是,根据上下文,您的安全需求和您的安全解决方案可能会有很大的不同。