【发布时间】:2012-08-22 21:14:15
【问题描述】:
我有一个简单的html 登录表单
<form method="post" action="http://www.example.com/login">
<input type="text" name="text_box" />
<input type="password" name="pass_word" />
<input type="submit" name="submit">
</form>
当我提交表单并在控制器中
public function login(){
$pass_word = $this->input->post('pass_word');
die($pass_word);
}
这里的问题,它显示的是普通密码,如果我在控制器中输入123456,我会得到123456。
- 这是一个安全问题吗?
- 任何人都可以通过
wireshark等网络监控工具获取我的密码吗?
如何避免这种情况?在发送到控制器之前,我可以在视图中加密密码吗?
【问题讨论】:
-
为此使用 javascript...你可以用谷歌搜索一个简单的 md5 加密脚本。只需在表单提交时对密码进行编码。
-
@vishal ,如果我加密了密码,你可以看到 js 并检查我用来加密的方法是什么,我认为你可以解密它
-
@KanishkaPanamaldeniya 我建议使用 MD5;这是一种单向散列算法,它会产生一个无法反转的散列(无论如何您都无法将散列恢复为原始字符串)MD5.
-
@Vishal:客户端处理不能解决问题。如果攻击者有中间人,他们可以在将 .js 提供给消费者时对其进行更改,并在不对其进行散列的情况下窃取输入。
标签: php security codeigniter encryption passwords