2011-05-08 191 views
0

我试图重新填充用户输入到表单字段,用于当它们的输入数据,并有将其固定由于错误输入字段

我通常完成它像这样的:

<input type="text" name="username" value="<?php echo @$_POST['username'];?>" /> 
<input type="password" name="password" value="<?php echo @$_POST['password'];?>" /> 

我这个问题是,当我查看源代码,如果他们把一个无效的用户名/密码,他们键入的实际密码在视图中源可见(不知道浏览器的问题,但它的Firefox )

什么是交流的最佳方式完成这个?

回答

1

如果密码字段的值不在源中,则无法设置默认值,但不需要。

模糊密码的一点是,这样有人找过用户的肩不能很容易地看到密码是什么。

只有用户(知道他们刚输入的密码是什么)可以告诉他们的浏览器查看源代码。

如果你担心密码在传输过程中被窃取,那么它是脆弱的从浏览器去访问服务器,因为它会的其他方式。对所有安全的浏览器 - 服务器通信使用SSL加密(https)。

同时,由于您从$_POST(这是外部输入)获取数据并将其直接注入页面,因此易受an XSS attack的影响。

0

只是不要重复密码。有一点遗失(因为无论如何他们有错误,密码是他们错误的最可能的东西),你可以抓住诚实的忘记在客户端验证重新输入密码,所以它不是太麻烦忽略重新输入的用户。

可以说重新发送密码的风险很小,因为对于发送密码的用户而言,窃听的安全级别将与安全级别相同(HTTPS或不),因此唯一可能使用view-source的人是用户自己,但它的共同性足以在这种情况下清除密码,以免它在用户中引起太强烈的负面反应。

0

我真的不认为这是一个问题,因为来源中显示的密码无效。我不保留密码失败,我只是清除文本框,以便用户可以重新输入一遍。

-2

如果用户名或密码不正确,则始终在错误消息页面上取消设置密码。 btw不要把@盈方$_POST,这是一个坏习惯

+0

为什么downvote ?? ??请解释一下 – diEcho 2011-05-09 04:48:11