CodeIgniter URL加密

5ktev3wc  于 4个月前  发布在  其他
关注(0)|答案(3)|浏览(48)

我是新的Codeigniter。我想加密完整的网址像下面的例子。
例如,这是我的url www.example.com,我的控制器是home,所以完整的url是www.example.com/home
现在我想加密所有的控制器,功能如下

www.example.com/5115784bef2514430e7f74d9a71d4142a942efb0f7cc428626bda7633326f9d015fbacc60d93cd6b858f9b6e05c1e56263acb24297cecc720467eb4f222d81e5hdn5B

字符串
我可以很好地加密和解密文本,但我只是不知道如何从url解密并理解调用了哪个控制器或函数,我想解密base_url之后的所有内容。
请不要建议使用通用控制器,因为我已经知道了&无论如何,通用控制器隐藏了所有内容,所以我相信加密不需要它。

xe55xuns

xe55xuns1#

好吧,我从来没有加密任何URL之前,但你可以使用php函数url_encode
和“str_replace”函数。
之所以使用“str_replace”,是因为url_encode只对URL中特殊字符进行编码。
希望我能帮上忙。
试试下面的代码。
Urlencode(str_replace(“your_domain.com/YourCOntrollerName/YourMethodName”,“SM5ah52”,yor_domain.com .“YourCOntrollerName/YourMethodName/YOuData”));
如果没有这个。CI框架中有一个名为加密的库。你可以从那里获得帮助Encryption

0g0grzrc

0g0grzrc2#

使用URI Routing并定义一个控制器来解码您传递的任何内容,并从中调用适当的控制器/方法。

ej83mcc0

ej83mcc03#

您可以将URI路由与正则表达式一起使用。

$route["other_controllers/method"] = "other_controllers/method"; //you can add this kind of lines to not to affect other controllers
$route["([a-zA-Z0-9]+)"] = "home/decrypt/$1";

字符串
在家庭控制器中,您可以
1.返回上一页

1.加载视图

public function decrypt($token){
   //geting the page according to the token from database.
   $desired_page = $this->some_model->get_page($token);

   //if you want to redirect
   redirect($desired_page);

   //if you want to load a view
   $this->load->view($desired_page);
}

相关问题