2012-11-01 2 views
3

나는이 http://domain/home/activate/MzU= 국지적 인 매개 변수codeigniter url에서 base64encode 문자를 전달하는 방법은 무엇입니까?

"MzU=" = base64encode($data) 

나는이 매개 변수를 사용하여이 URL을 열 어차피 같은 URL이 있습니다. 오류가 발생했습니다. "The URI you submitted has disallowed characters." codeigniter url에서 base64encode 문자를 전달하려면 어떻게해야합니까? 응용 프로그램/config 디렉토리에서 사용할 수 있습니다 귀하의 config.php 파일에서 $의 설정 [ 'permitted_uri_chars']에

+0

왜, 어떻게됩니까? 어떻게 '데이터'버그입니까? –

+0

$ data는 정수입니다. 활성화는 함수이고 mzu = 매개 변수입니다. –

+0

좋습니다 (GET 매개 변수의 최대 길이에 제한이 있습니다). 무슨 일이 일어나고, 무엇이 효과가 없습니까? 어떤 오류가 발생합니까? –

답변

1

문자를 추가하세요 "="

다음과 같은 기능을 가진 헬퍼 만들 수 있습니다
+2

많은 경우에 설정 파일에 문자를 추가하는 것만으로는 충분하지 않습니다. '@'을 url에 추가하면 system/core/Input.php 파일에서 사용할 수있는 _clean_input_keys ($ str) 함수에 문자를 추가해야합니다. –

2

:

function url_query_encode($array = array()) 
{ 
    return str_replace('/', '_', rtrim(base64_encode(gzcompress(serialize($array))), '=')); 
} 


function url_query_decode($str = '') 
{ 
    return (is_string($str) && strlen($str)) ? @unserialize(gzuncompress(base64_decode(str_replace('_', '/', $str)))) : FALSE; 
} 
관련 문제