2013-09-25 56 views
5

一个简短的答案 - 通过ajax发送电子邮件+密码到另一个页面是否存在安全问题? :)使用jQuery发送登录数据的任何安全问题?

我的想法是,信息可能会在发送中被抓住,这可能是一个缺陷,相比之下,“传统的方式”只需一个带有“链接”登录的表单操作,操作页面。

在此先感谢..

回答

4

其同样,如果你在POST一个表单发送您的密码,或在发送POST的Ajax请求。您应该使用SSL,然后请求被加密并保存。

但是你应该使用POST请求。不要通过GET发送密码不是最好的方式。

jQuery/AJAX login form submit on enter

+0

所以我可以从你的答案中读到的是,通过AJAX表单请求发送表单与使用普通POST发送表单一样脆弱? :) – denlau

+0

你可以扩展为什么GET不是最好的方式?现在看起来就像是一个随机的无理陈述 – musefan

+0

POST vs GET http://stackoverflow.com/questions/198462/is-either-get-or-post-more-secure-than-the-other 注意,对于GET,地址栏中显示的URL可以公开隐藏在POST中的数据。 – mahatmanich

2

可以被发送到任何地方之前,客户方转移密码到哈希然后做哈希比较服务器端。

但是,如果您不使用SSL,它与Post或Get请求有相同的问题......但是,根据NSA考验,即使这似乎不太安全。

编辑 这可能是有道理的,如果你转换的​​密码哈希客户方,并将其存储在一个隐藏字段,并把它送上进行比较,而不是发送密码的。然而,这构成了哈希可以直接从客户端收集的威胁。进一步这将是糟糕的,因为你还需要暴露你的种子(你应该使用它)等等,这是一个有缺陷的方法。

使用SSL并完成它。

你可以但是臃肿与http://www.jcryption.org您的要求是基于jQuery的

+1

这会阻止密码本身被看到,但您仍可以使用散列登录。 – exussum

+0

这怎么可能?除非你的代码写得很差,否则没有意义 – Paco

+0

你不能用HASH登录! – mahatmanich

2

的“传统方式”,你指的是为过帐AJAX请求。通过HTTPS发送的HTTP,而不是给你更好安全(但怀疑论者会很快指出,通过HTTPS使用一些加密方案是繁琐解码)

1


您需要设置SSL服务器上并使用HTTPS连接以便安全* er *。