让我们考虑下一个场景:假设我有一个Web应用程序,用户身份验证是通过模式对话框窗口执行的(假设,当用户单击登录按钮时,发送ajax请求并根据回调我要么关闭窗口或显示错误),我使用仅HTTP 协议。为什么它被认为是不安全的做事方式?
另外,请确保考虑模态对话窗口,因为这是至关重要的信息。对话窗口下可能会显示一些数据,如果模态被破坏,则可以访问这些数据。
问题包括:
答案 0 :(得分:10)
谁告诉你 - 他错了。与使用常规表单的帖子相比,ajax通过帖子不太安全。仅仅因为它是相同的东西。
根据上一次编辑更新1 :
参数:AJAX请求与任何其他请求(例如html表单发送的请求)是相同的http请求。 绝对相同。因此,根据定义,它不会更低或更安全。
我不知道如何解释更多以及说什么:ajax是一个http请求。当您打开SO页面或发布SO问题表单时,与浏览器相同的请求。
我可以将你的问题改为“为什么A不如A安全”。回答:A的安全性不低于A,因为A是A:-S
答案 1 :(得分:2)
任何敏感数据都应通过HTTPS传输。 GET数据在查询字符串中发送。 POST数据在HTTP Request标头中发送。 Ajax可以做到这两点。两者都不安全。您需要通道级加密才能真正保护它。
答案 2 :(得分:1)
HTTP对私有数据不安全,因为数据是以纯文本格式传输的。这可以在客户端和服务器之间的任何地方截获(例如,wifi。)基于HTTPS的Ajax会好得多。
答案 3 :(得分:1)
我认为问题在于您使用的是http。无论你如何看待它都不会安全。如果您使用https,则ajax请求将与html表单一样安全。
Somy的回答是使用https,你将全部设定。
答案 4 :(得分:0)
我不是安全专家,但我认为通过HTTPS发送它可能更安全。只是谷歌搜索告诉我,它可以安全地完成:
http://www.indicthreads.com/1524/secure-ajax-based-user-authentication/ http://msdn.microsoft.com/en-us/magazine/cc793961.aspx(专注于ASP.NET) 等
答案 5 :(得分:0)
由于浏览器对HTTP和HTTPS使用相同的网络堆栈,无论是否为AJAX,都没有区别。所有标题,cookie,身份验证等都完全相同。