我遇到过许多使用doget()或dopost()方法处理登录表单中输入的用户名和密码字段的网站,但是在我看来,当我们使用doget()时,我们必须自己对用户名和密码进行加密字段,因为它们被追加到URL,而在dopost()中却不是这样(工作似乎少了很多。.phewww)。
但是,我有点担心使用dopost()是否安全可靠,因为用户名和密码字段是高度敏感的数据。
有人可以告诉我在登录表单中使用这两种方法的优缺点吗?
最佳答案
POST的开销较高(如果说实话,虽然略有增加,但总会增加),但是它并没有成为URL的一部分,因此,偶然的观察者无法看到POST,而后者GET可以。但是,这两种方法都可以很容易地通过网络被截获,因此如果您不使用任何加密,它们都是不安全的... GET更加糟糕,因为任何人都可以读取它,而无需任何故意尝试截取密码的尝试
如果使用GET,则用户只需更改URL就可以轻松修改输入,这可能是好事,也必须视情况决定。用户无法轻易修改帖子。
技巧是在发送密码或敏感数据之前先对其进行加密。这样,如果数据包被截获,则几乎没有风险,并且,由于您已经对字符串进行了加密,因此您不介意是否有人在用户的肩膀上读取了它……因此,您可以使用GET并为自己节省一些时间耗费更长,更漂亮的URL的开销。在这个阶段,没有一个比另一个更安全。
在理想的安全环境中,您应该将POST与SSL结合使用,以使URL中的任何内容都不容易被拦截,而被拦截的任何内容也都无法轻松使用。
关于java - 哪种方法更适合用于登录表单doget()或dopost(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9322756/