2015-10-25 130 views
-2

我有一个表单,我有一个密码字段。当用户提交表单时,包括密码在内的所有字段在通过URL到达另一个php页面时都会在url中清晰可见。有什么办法可以避免这种情况?我不想让密码可见。在通过GET发送url之前在PHP中加密密码

+10

你不想用GET来做,你想要POST和SSL。 – DeDee

+0

@Deva,上面的评论是必须的 –

+0

**你真的*不*想要加密密码**你需要**散列**,所以如果数据库被黑客攻击的话密码不能被检索。另一方面,传输应该使用SSL&POST。 – cybermonkey

回答

6

你应该POST荷兰国际集团的表格数据,而不是使用GET方法删除从查询字符串中的数据:使用SSL

<form method="post" ... 

和加密数据 - 这样所有的数据将被发送牢固。

This answer雄辩地解释了POSTGET之间的差异。

+1

也应该提到密码应存储在数据库中时应该散列,而不是加密。 – cybermonkey

+1

@bob是,否;在这种情况下,我们正在讨论将数据发送到服务器而不是存储任何东西,因此加密就足够了。不过,我同意OP在存储密码时需要注意[hash](http://security.stackexchange.com/questions/51959/why-are-salted-hashes-more-secure)。 –

+0

@bob有点在这个问题的主题,但很好的提及。你一定要加密密码从客户端到服务器(SSL),然后散列它,如果你要坚持它。 – JimL