2013-10-25 30 views
-1

我想加密我們在一個頁面上的url參數,並出於安全原因在其他頁面上解密。當我嘗試這個時,發生不允許的字符錯誤。我也不想設置$ config ['permitted_uri_chars']。根據這個。如何加密codeigniter中的URL參數而不允許使用字符?

請給我解決,我可以能夠與參數的URL喜歡 -

​​

加密和我使用像加密URL-

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

,我使用像解密網址 -

echo $this->encrypt->decode($id) 

其他問題是它的值是隨機變化的。

請讓我明白,如何做到這一點。

謝謝。

+0

爲什麼沒有人沒有做回答這個。 – user2743387

+0

http://ellislab.com/codeigniter/user-guide/libraries/encryption.html 沒有幫助你嗎? –

+0

不,plaese helpme – user2743387

回答

0

您可以使用查詢字符串:

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

在查詢字符串,你可以使用任何

4

STEP 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); 
+0

ka非常感謝**開發人員始終是開發人員** – Rakesh