- php/
- Php 在这个AJAX场景中,特别是在身份验证方面,最好的安全准则是什么?
Php 在这个AJAX场景中,特别是在身份验证方面,最好的安全准则是什么?
Php 在这个AJAX场景中,特别是在身份验证方面,最好的安全准则是什么?,php,mysql,ajax,security,Php,Mysql,Ajax,Security,[我希望这个问题不要太宽泛,我认为这个主题很有趣,但我恳请你告诉我是否不符合政策。]
我的设想是:
我有一个LAMP网站,它还存储敏感数据和文档
只有注册用户才能在网站上操作,并且只能对某些数据和文档进行操作。用户存储在$\u会话变量中
大多数页面实现了一种基本的权限控制,但是一些重要的数据库操作是通过AJAX调用的
AJAX安全性的实现非常糟糕,因为任何一个聪明的人都可以篡改发送他们喜欢的任何id的请求,并以极其简单的方式删除记录
要求一本完整的关于安全性的书显然有点太多了(我已经在这方面
[我希望这个问题不要太宽泛,我认为这个主题很有趣,但我恳请你告诉我是否不符合政策。]
我的设想是:
- 我有一个LAMP网站,它还存储敏感数据和文档
- 只有注册用户才能在网站上操作,并且只能对某些数据和文档进行操作。用户存储在$\u会话变量中
- 大多数页面实现了一种基本的权限控制,但是一些重要的数据库操作是通过AJAX调用的
- AJAX安全性的实现非常糟糕,因为任何一个聪明的人都可以篡改发送他们喜欢的任何id的请求,并以极其简单的方式删除记录
要求一本完整的关于安全性的书显然有点太多了(我已经在这方面读了很多书并做了很多尝试),比如说,我主要关心的是AJAX页面是否应该得到特别的重视,因为我需要保护整个软件以防黑客和其他问题
假设我主要关心的是AJAX页面是否应该得到特别的关注
不是真的。他们应该得到与任何其他请求几乎完全相同的待遇所有HTTP请求都来自您的系统之外,并且在客户端的控制下(因此可以或多或少地由用户可以想象的任何内容组成)
您可能会返回JSON,您可能会返回完整的HTML文档,您可能会返回XML—但格式不重要,数据重要
如果请求是敏感数据,则您需要(在服务器上)对用户进行身份验证,然后确保他们有权查看/编辑该数据
唯一的区别是您如何呈现“您未经授权”信息。当您希望浏览器将数据加载到XHR中时,不能简单地返回带有登录表单的HTML文档。响应需要适当格式化,JavaScript需要能够处理它
假设我主要关心的是AJAX页面是否应该得到特别的关注
不是真的。他们应该得到与任何其他请求几乎完全相同的待遇所有HTTP请求都来自您的系统之外,并且在客户端的控制下(因此可以或多或少地由用户可以想象的任何内容组成)
您可能会返回JSON,您可能会返回完整的HTML文档,您可能会返回XML—但格式不重要,数据重要
如果请求是敏感数据,则您需要(在服务器上)对用户进行身份验证,然后确保他们有权查看/编辑该数据
唯一的区别是您如何呈现“您未经授权”信息。当您希望浏览器将数据加载到XHR中时,不能简单地返回带有登录表单的HTML文档。响应需要适当格式化,JavaScript需要能够处理它
我有一个LAMP网站,它还存储敏感数据和文档
您应该尽可能少地存储敏感数据。尤其是当您不确定如何保护这些信息的安全/隐私时。例如,使用OpenID或其他东西进行身份验证。我很喜欢它的简单性。我创建了一个小程序来查看lightopenId的使用情况。通过使用,它简化了OpenID的使用。当您使用OpenID时,您也使用安全的OpenID提供程序。密码也不会以明文形式通过网络传输,而是受https/SSL保护
只有注册用户才能在网站上操作,并且只能在
某些数据和文件。用户存储在$\u会话变量中
是的,这就是课程的目的
大多数页面实现了一种基本的权限控制,
但是一些重要的DB操作是通过AJAX调用的
你至少应该仔细阅读一下。(不要在10点停止。)
AJAX安全性的实现非常糟糕,任何一个如此聪明的人都是如此
可以篡改发送任意id的请求并删除
记录极其简单
见上一节。至少阅读OWASP前10部分。例如,许多人忽视的一些事情就是
我有一个LAMP网站,它还存储敏感数据和文档
您应该尽可能少地存储敏感数据。尤其是当您不确定如何保护这些信息的安全/隐私时。例如,使用OpenID或其他东西进行身份验证。我很喜欢它的简单性。我创建了一个小程序来查看lightopenId的使用情况。通过使用,它简化了OpenID的使用。当您使用OpenID时,您也使用安全的OpenID提供程序。密码也不会以明文形式通过网络传输,而是受https/SSL保护
只有注册用户才能在网站上操作,并且只能在
某些数据和文件。用户存储在$\u会话变量中
是的,这就是课程的目的
大多数页面实现了一种基本的权限控制,
但是一些重要的DB操作是通过AJAX调用的
你至少应该仔细阅读一下。(不要在10点停止。)
AJAX安全性的实现非常糟糕,任何一个如此聪明的人都是如此
可以篡改发送任意id的请求并删除
记录极其简单
见上一节。至少阅读OWASP前10部分。例如,许多人忽视的一些事情是。+1这可能会让OP感到震惊,但即使是常规的“非AJAX”请求也可以得到完美的处理。绝对不是。对于那些我已经采取了措施(解决SQL注入、数据过滤和权限问题)。我担心的是AJAX是否会打开新的场景来处理。@cravo:与其试图阻止某些类型的“场景”,不如使用常见的