[英]What are the best security guidelines in this AJAX scenario, with special regards to authentication?
[我希望这个问题不是太广泛,我认为这个问题很有意思,但我不鼓励你告诉我它是否是政策性的。]
我的情况是这样的:
要求一本关于安全性的完整书籍显然有点太多了(我已经在阅读并尝试了很多关于这个主题的内容),让我们说我的主要关注点是AJAX页面是否应该得到特别的关注,因为我需要保护整个软件以防止黑客攻击和其他问题。
让我们说我的主要关注点是AJAX页面是否应该得到特别的关注
并不是的。 它们应该被视为与任何其他请求几乎完全相同。 所有 HTTP请求都来自您的系统外部并且受客户端的控制(因此可以包含或多或少地包含用户可以想象的任何内容)。
您可能正在返回JSON,您可能正在返回一个完整的HTML文档,您可能正在返回XML - 但数据无关紧要,数据也是如此。
如果请求是针对敏感数据的,那么您需要(在服务器上)对用户进行身份验证,然后确保他们有权查看/编辑该数据。
唯一的区别是您如何呈现“您未经授权”的消息。 当您希望浏览器将数据加载到XHR时,您不能简单地返回带有登录表单的HTML文档。 响应需要适当格式化,JavaScript需要能够处理它。
我有一个LAMP网站,它还存储敏感数据和文档
您应该尽可能少地存储敏感数据。 特别是当您不确定如何保护此信息安全/私密时。 例如,使用OpenID或其他东西进行身份验证。 我非常喜欢LightOpenID,因为它很简单。 我创建了一个小示例项目/库来查看正在使用的lightopenId。 它通过使用openID-selector简化了OpenID的使用。 当您使用OpenID时,您还使用安全的OpenID提供程序,密码也不会通过网络以纯文本形式传输,但受https / SSL保护。
只允许注册用户在网站上操作,并且只允许在某些数据和文档上操作。 用户存储在$ _SESSION变量中
是的,这就是会议的目的。
大多数页面实现了一种基本的权限控制,但是一些重要的数据库操作是通过AJAX调用的
你应该至少阅读OWASP前10名 。 ( 不要在10点停下来。 )
AJAX安全性的实现非常糟糕,因为任何聪明的人都可以篡改发送他们喜欢的任何id的请求并删除残酷简单的记录
见上一节。 至少阅读OWASP前10部分。 例如,许多人忽略的事情是CSRF 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.