【发布时间】:2018-05-05 03:41:19
【问题描述】:
所以我所做的是一个电子邮件验证功能,它在从 gmail 重定向到 localhost 时将我的电子邮件存储在 uri 中,问题是电子邮件是加密的,有时它确实会生成“/”的结果,这会混淆 uri 段并划分第 4 段和第 5 段中的加密电子邮件。
带有加密的 Uri 示例:
http://yourdomain.com/system/index.php/controller/method/$2y$10$exTPJiuAiDRQzuiPV/AcW.YnYovq4n1ETbMdtOabHoWQ.yM9ePmPy
查看 PV ' / ' AcW 这将 uri 分开,我在将其存储为时会遇到问题:
$email = $this->uri->segment(4);
我确实尝试过这样存储:
$email = $this->uri->segment(4) && $this->uri->segment(5);
但仍然给我一个 false 的布尔值。
【问题讨论】:
-
第 4 段和第 5 段的输出分别是什么?
-
更改您的加密方法以删除“/”。当然,斜线会混淆框架..
-
@VincentDecaux 我需要使用什么加密才能在语法中不会给出随机的“/”?
-
你现在使用什么加密?或者如果可以的话就使用
str_replace('/', '.', $hash) -
你为什么要这样做?大多数身份验证系统在数据库中存储一个忘记的密码代码,并通过 uri 将该哈希提交给用户,例如 localhost.com/forgotpass/hash。然后在哈希上,您只需将该行与该特定的行与用户匹配。简单易行。
标签: php codeigniter email encryption segment