出于
安全原因,我想在一个页面上加密我们的 url 参数并在另一个页面上解密。 当我尝试这样做时,会发生不允许的字符错误。 我也不想设置$config['permitted_uri_chars']。 据此。
请给我一个解决方案,我可以使用 URL 加密参数,例如-
wwww.domain.com/controller_name/method_name/parameter1/parameter2
我正在使用喜欢的加密网址-
<a href="<?php echo site_url('C_Name/M_Name/'.$this->encrypt->encode($id)); ?>">Link</a>
我正在使用喜欢的解密网址-
echo $this->encrypt->decode($id)
另一个问题是它的值是随机更改的。
请让我明白该怎么做。
谢谢。
第 1 步:请在帮助器文件夹中创建一个帮助程序函数
function encode_url($string, $key="", $url_safe=TRUE)
{
if($key==null || $key=="")
{
$key="tyz_mydefaulturlencryption";
}
$CI =& get_instance();
$ret = $CI->encrypt->encode($string, $key);
if ($url_safe)
{
$ret = strtr(
$ret,
array(
'+' => '.',
'=' => '-',
'/' => '~'
)
);
}
return $ret;
}
function decode_url($string, $key="")
{
if($key==null || $key=="")
{
$key="tyz_mydefaulturlencryption";
}
$CI =& get_instance();
$string = strtr(
$string,
array(
'.' => '+',
'-' => '=',
'~' => '/'
)
);
return $CI->encrypt->decode($string, $key);
}
第 2 步:在自动加载文件中分配此文件
$autoload['helper'] = array('url','form','url_encryption_helper');
第 3 步:在控制器、模型、视图中调用函数encode_url
以进行加密
$rr="rahul K A";
$a= encode_url($rr);
您可以使用查询字符串:
<a href="<?php echo site_url('C_Name/M_Name/?id='.$this->encrypt->encode($id)); ?>">Link</a>
在查询字符串中,可以使用任何内容