比方说,我有一个var
即时生成(例如一个Facebook API调用返回用户ID)。然后我想使用jQuery的AJAX将这个var发送给我自己的服务器。安全:AJAX帖子
我的问题 - 这是安全的吗?在AJAX发送到我的服务器之前,有人会拦截并插入自己的值吗?如果这是不安全的,那么人们如何去做这样的AJAX帖子呢?
比方说,我有一个var
即时生成(例如一个Facebook API调用返回用户ID)。然后我想使用jQuery的AJAX将这个var发送给我自己的服务器。安全:AJAX帖子
我的问题 - 这是安全的吗?在AJAX发送到我的服务器之前,有人会拦截并插入自己的值吗?如果这是不安全的,那么人们如何去做这样的AJAX帖子呢?
是的,除非您使用HTTPS,否则有人可能会拦截并更改该值。所以这基本上是解决方案,以确保安全,以及某种身份验证系统。除此之外,请确保您不在该var中存储任何秘密,因为您的用户可以轻松看到该值。
验证/ e.g http://graph.facebook.com/1303834107 :)拉动ID服务器端
可能有人拦截和AJAX发送到我的服务器之前,插入自己的价值?
这取决于你是指“某人”的意思。
如果你是在谈论一个第三方攻击者,则可能的攻击点是:
如果你谈话的浏览器约用户,那么就没有什么可以做,以阻止他们改变数据。用户完全可以控制浏览器发送到服务器的内容。唯一的防御是让他们的浏览器脱离等式(这将涉及使用OAuth获得从您的服务器访问他们的Facebook帐户的权限)。
非常感谢 - 但HTTPS如何改变这一点?它将如何阻止用户在运行中更改AJAX POST数据? – user1775598
HTTPS不会阻止用户更改POST数据 - 它只会阻止其他人能够劫持并更改它。这就是为什么你需要一个认证系统和可能的某种权限系统 - 那么如果用户改变其他值,你可以授权他们对这个资源,如果他们没有被授权,那么你提供一个401/403响应而不是200。 –