Php 如何在codeigniter中加密url参数而不使用不允许的字符?

Php 如何在codeigniter中加密url参数而不使用不允许的字符?,php,codeigniter,url,encryption,Php,Codeigniter,Url,Encryption,出于安全原因,我想在一个页面上加密url参数,在另一个页面上解密。当我尝试此操作时,会出现不允许的字符错误。另外,我不想设置$config['allowed\u uri\u chars']。据此, 请给我一个解决方案,我可以加密参数与url一样- wwww.domain.com/controller_name/method_name/parameter1/parameter2 我使用like作为加密url- <a href="<?php echo site_url('C_Name/

出于安全原因,我想在一个页面上加密url参数,在另一个页面上解密。当我尝试此操作时,会出现不允许的字符错误。另外,我不想设置$config['allowed\u uri\u chars']。据此,

请给我一个解决方案,我可以加密参数与url一样-

wwww.domain.com/controller_name/method_name/parameter1/parameter2
我使用like作为加密url-

<a href="<?php echo site_url('C_Name/M_Name/'.$this->encrypt->encode($id)); ?>">Link</a>
echo $this->encrypt->decode($id)
另一个问题是它的值被随机更改

请让我明白如何做到这一点


谢谢。

您可以使用查询字符串:

<a href="<?php echo site_url('C_Name/M_Name/?id='.$this->encrypt->encode($id)); ?>">Link</a>


在查询字符串中,您可以使用任何内容

您可以使用查询字符串:

<a href="<?php echo site_url('C_Name/M_Name/?id='.$this->encrypt->encode($id)); ?>">Link</a>

在查询字符串中,您可以使用任何内容。步骤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);
}
步骤2:在自动加载文件中分配此文件

$autoload['helper']=array('url','form','url\u encryption\u helper')

第三步: 在控制器、模型、视图中调用函数
encode\u url
进行加密

   $rr="rahul K A";
   $a= encode_url($rr); 
第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);
}
步骤2:在自动加载文件中分配此文件

$autoload['helper']=array('url','form','url\u encryption\u helper')

第三步: 在控制器、模型、视图中调用函数
encode\u url
进行加密

   $rr="rahul K A";
   $a= encode_url($rr); 

为什么没有人不做这件事呢。这对你没帮助吗?关于为什么没有人不做这个答案的这个可能的复制品呢。这对你有帮助吗?这个可能的k a复制品怎么样?非常感谢开发者一直是开发者k a非常感谢开发者一直是开发者