【问题标题】:CodeIgniter with encrypted URLs带有加密 URL 的 CodeIgniter
【发布时间】:2012-05-16 17:11:20
【问题描述】:

我想为我的项目使用 codeigniter 框架,但我不希望它可读,所以我必须像这样加密 url:

http://myproject.com/index.php/indexcontroller/myaction/

进入:

http://myproject.com/as79d8a7sd9a8sd7a98d7a9s8d790akmwmwm97aw

我不知道如何实现这样的场景。如何调用控制器和方法以及如何执行。 请指导我。

【问题讨论】:

  • 客户害怕什么?这不一定有任何帮助。
  • 他/她不想让任何人玩 url 参数。无论如何,这不是讨论客户。它是关于我寻求的可能性。
  • @SalmanKhimani:有时需要告知客户他想要的东西是错误的。还有其他方法可以防止用户弄乱 URL。

标签: codeigniter url encryption


【解决方案1】:

这听起来像是URI routing 的工作!

将此添加到您的config/routes.php

$route['(:any)'] = "MyController/MyFunc/$1";

现在当你去:

http://myproject.com/as79d8a7sd9a8sd7a98d7a9s8d790akmwmwm97aw

它将被“重定向”到:

http://myproject.com/MyController/MyFunc/as79d8a7sd9a8sd7a98d7a9s8d790akmwmwm97aw

从那里,您可以“解码” URL,并重定向到您想去的地方。

【讨论】:

  • 此方法有效...但问题是何时重定向 URL 再次可见,所以我怎样才能保持 URL 段相同但页面将被重定向,以便 URL 将保持加密状态。希望你明白我的意思。
【解决方案2】:

您可以通过以下方式解决此问题: 应用程序/config/routes.php

$route['(:any)'] = "controller/myaction/$1";

了解更多信息 URI Routing documination

【讨论】:

  • as79d8a7sd9a8sd7a98d7a9s8d790akmwmwm97aw 不是“静态”值。这个值会随着访问的每个页面而改变。
  • 你可以使用通配符 (:any) 你可以在文档中找到
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-25
  • 2017-07-05
  • 2017-01-14
  • 2016-10-01
  • 2013-07-09
  • 2016-04-10
  • 1970-01-01
相关资源
最近更新 更多