相关疑难解决方法(0)

Codeigniter:如何在将表单提交给控制器之前加密密码?

我有一个简单的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>
Run Code Online (Sandbox Code Playgroud)

当我提交表格并在控制器中

public function login(){
    $pass_word = $this->input->post('pass_word');
    die($pass_word);
}
Run Code Online (Sandbox Code Playgroud)

这里的问题,它显示了普通密码,如果我输入123456控制器,我得到123456.

  1. 这是安全问题吗?
  2. 任何人都可以通过网络监控工具获取我的密码wireshark吗?

怎么避免这个?在发送到控制器之前,我可以在视图中加密密码吗?请提前帮助,谢谢.

php security encryption passwords codeigniter

7
推荐指数
1
解决办法
5万
查看次数

Codeigniter重定向不在相对重定向中保留HTTPS

我有一个公共和私人区域的网站.私人区域应通过HTTPS提供.我想将一次重定向到显式的HTTPS URL,然后使用相对URL,使所有链接都是安全的.当用户注销时,我将显式链接到绝对不安全的HTTP URL.

我的登录表单通过常规HTTP显示为非安全站点.我的登录表单发布到https://www.mysite.com/login/validate,使用安全连接加载.

我的日志显示Apache正在通过HTTPS加载URL,并且codeigniter正在进行正确的验证.

在我的控制器功能结束时,我重定向到/myaccount使用CodeIgniter的URL帮助程序的redirect方法和相对URL.

redirect('/myaccount');
Run Code Online (Sandbox Code Playgroud)

这会导致codeigniter重定向到非HTTPS URL.

我的配置base_url是非HTTPS:

$config['base_url'] = "http://www.mysite.com"
Run Code Online (Sandbox Code Playgroud)

这是因为网站的某些部分是安全的,而其他部分则不是.

有没有办法告诉CodeIgniter在进行相对重定向时保留HTTPS?为什么假设我想要通过HTTPS加载当前控制器并且我正在进行相对重定向,那么我想进入非HTTPS站点?

对我来说理想的行为是,如果我正在进行相对重定向,它应该保留加载当前请求的协议.相反,它正在切换到config base_url已定义的内容,即使对于相对重定向也是如此.

php codeigniter

4
推荐指数
1
解决办法
7047
查看次数

标签 统计

codeigniter ×2

php ×2

encryption ×1

passwords ×1

security ×1