我想建立以下项目:
实际上,在我的架构中有三个方面:前端,它是后端的客户端,后端和希望在前端登录页面上进行身份验证的用户。
保护参与该体系结构的三方的最佳方法是什么?
事实上,我认为如果我在javascript中完成所有事情,就不可能在前端执行一个安全的应用程序,所以我打算将身份验证/授权委托给服务器前端的代理层。你觉得怎么样?
我打算使用OAuth来保护我的REST后端,但我不确定是否必须使用2或3条腿的实现。在这种情况下,正确的方法是什么?
UPDATE:当我在SO网站上搜索更深入的内容时,我发现了这个线程,这正是我想要做的,只是我想在服务器端而不是DotNet上使用线程。如果我很清楚,事实上我的网站就像我的REST的任何客户端,除了它是唯一有权创建新用户帐户的客户端。因为,如果我的REST只能通过OAuth (比如Twitter的一个)访问,那么以前谁能执行用户帐户的创建呢?我说得对吗?
发布于 2011-12-18 08:24:34
与此体系结构的安全性有关的一个主要问题是测试。自动化工具将无法测试此系统是否存在常见漏洞,如SQL、直接对象引用。测试奇怪架构的一个有用工具是OWASP的开源Zed攻击代理或专有的BURP代理。测试将耗费时间,并且需要对web应用程序漏洞有很好理解的人。我们常把这些人称为戊酯。
保持会话状态的RESTful形式是使用HMAC保护值不受修改。然而,这是对密码学的误用,因为它打开了攻击的大门。攻击者可以强行强制HMAC中使用的密钥,然后修改值(例如会话id )或以其他方式访问系统上的另一个帐户。只有在没有其他选项的情况下,才应使用密码学。通过将会话状态存储在不是RESTful的数据库中,可以完全防止此漏洞。
https://stackoverflow.com/questions/8546061
复制相似问题