我想在一个页面上加密我们的url参数,并出于安全原因在其他页面上解密。当我尝试这个,然后不允许字符错误发生。我也不想设置$ config ['allowed_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)
其他问题是其价值随机变化。
请让我明白如何做到这一点。
感谢。
答案 0 :(得分:4)
第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);
答案 1 :(得分:0)
您可以使用查询字符串:
<a href="<?php echo site_url('C_Name/M_Name/?id='.$this->encrypt->encode($id)); ?>">Link</a>
在查询字符串中,您可以使用任何内容