我想加密作为ID传递的我的uri段以查询数据库表。在Codeigniter中加密uri段
比如我使用
$id=urlencode($this->encrypt->encode($user['id']));
这是使用
$id_decrypt=$this->encrypt->decode(urldecode($id));
我已经测试加密和能解密,它似乎另一个工作控制器上解码。然而,在尝试网址如。
http://localhost/app_name/index.php/profile/view_profile/b98N98YNqoEA7yI1tavIY1s51RhiSHKGCFarU4A6XgFUMB%2BI3KwiEA23h1XITmkq1qPABqGs8e1sdP16v4og8g%3D%3D
对一些url会按预期的方式工作,但在一些它会给浏览器错误404(对象未找到)。在删除加密段时,我可以访问索引功能。这可能是什么原因?
它似乎是真的,大多数网站无法正常工作有%2B。你有任何想法我可以删除它。除了+以外,还有其他角色我应该关注吗?因为一些网址没有%2B,但他们没有工作。 – serengeti12 2011-05-31 20:06:10
@ serengeti12:我已经为你更新了我的答案 – Aren 2011-05-31 23:40:31
我现在已经意识到,带来问题的是%2F,它是'/'。使用Base64encode可以删除其他字符,但会出现=,这似乎也显然与路由器有一些问题。 – serengeti12 2011-06-01 13:34:13