use*_*387 0 php encryption url codeigniter
出于安全原因,我想在一页上加密我们的 url 参数并在另一页上解密。当我尝试这个时,就会发生不允许的字符错误。我也不想设置 $config['permitted_uri_chars']。根据这个。
请给我解决方案,我可以使用 url 加密参数,例如-
wwww.domain.com/controller_name/method_name/parameter1/parameter2
Run Code Online (Sandbox Code Playgroud)
我正在使用 like 来加密 url-
<a href="<?php echo site_url('C_Name/M_Name/'.$this->encrypt->encode($id)); ?>">Link</a>
Run Code Online (Sandbox Code Playgroud)
我正在使用 like 来解密 url-
echo $this->encrypt->decode($id)
Run Code Online (Sandbox Code Playgroud)
另一个问题是它的值是随机改变的。
请让我明白如何做到这一点。
谢谢。
小智 5
STEP 1: 请在 helper 文件夹中创建一个 helper 函数
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);
}
Run Code Online (Sandbox Code Playgroud)
步骤 2: 在自动加载文件中分配此文件
$autoload['helper'] = array('url','form','url_encryption_helper');
STEP 3:encode_url在控制器、模型、视图中
调用函数进行加密
$rr="rahul K A";
$a= encode_url($rr);
Run Code Online (Sandbox Code Playgroud)