2012-03-26 2 views
0

페이지가 다시로드 될 때 url에서 쿼리 문자열을 숨길 수 있습니까? 페이지가 내가 캔트 를 다시로드 할 때코드 점화 기의 쿼리 문자열 숨기기

나는 링크가 내 URL의 ID와 뚜껑을 숨기려면이

<a href="<?php echo base_url(); ?>home/box/<?php echo $template_data['box_id'] ?>/<?php echo $lang['language_name'] ?>/?id=<?php echo $_GET['id'] ?>&lid=<?php echo $lang['language_id'] ?>"> 

처럼 보이는 사이트의 언어를 변경 내 홈 페이지 뷰 링크가 내 코딩이 사용 불가능한 방식으로 이루어지기 때문에 세션과 쿠키를 사용하십시오.

다른 가능한 방법이 있습니까? 사전에

덕분에

+0

세션 및 쿠키를 사용할 수 없다고 알고 있지만 사용자에게 표시하지 않으려는 데이터가 저장되어 있지 않은 경우 CI의 flashdata 메소드가 도움이 될 수 있습니다. 한 페이지 뷰에만 저장 됨 : http://codeigniter.com/user_guide/libraries/sessions.html – cchana

답변

0

불행하게도, 그것은 불가능 - 브라우저는 페이지에 요청을 보낼 수있는 URL이 필요하고, 그게 사용자에게 표시됩니다 정확히입니다. 에서 가장 좋은은 약간의 역사가 바뀌는 JavaScript를 pushState으로 해킹 할 수 있습니다.하지만 이것은 대단한 해결책입니다. 다른 방법이 필요합니다.

<form action="<?php echo base_url(); ?>home/box/<?php echo $template_data['box_id'] ?>/<?php echo $lang['language_name'] ?>" method="POST"> 
    <input type="hidden" name="id" value="<?php echo $_GET['id'] ?>" /> 
    <input type="hidden" name="lid" value="<?php echo $lang['language_id'] ?>" /> 
    <input type="submit" value="Style this like a link" /> 
</form> 

우아하지,하지만 호환되는 방식으로 그렇게 할 수있는 유일한 방법이다 : 한 가지 방법은 그것을 가지고하는 이유에 따라, POST를 통해 것이해야 할 일. 여전히 가능하지 않다면 패턴을 다시 생각해보고 왜이 정보를 숨길 필요가있을 수 있습니다.

+0

다른 최악의 경우 양식에 링크를 변경하고 싶지 않습니다. –

+0

@FaryalKhan : 불가능! 문제는 무엇입니까? 왜이 일을해야합니까? 아마도 더 좋은 방법이있을 것입니다. – Ryan

+0

이것은 내 바보 같은 상사가 원하기 때문에 발생합니다. ( –

0

쿼리 부분을 제거하려면 다시 리디렉션해야합니다. 또는 라우팅에 의해 URL을 다시 작성하고 $this->uri->segment(n)

와 varibles http://example.com/home/box/<temp>/<lang>/<id>/<lang_id>

같은 컨트롤러 캐치에서 보이게하지만 난

0

왜 당신이 어떤 종류를 사용하지 않는 쿼리를 숨길 점을 볼 해달라고 양방향 인코딩? http://codeigniter.com/user_guide/libraries/encryption.html

이렇게하면 URI를 변경할 필요가 없으며 처리하기 전에 값을 디코딩해야합니다 (그리고 보내기 전에 인코딩). 물론 CI를 사용하는 사람은 여전히 ​​실제 값에 액세스 할 수 있으므로 사용자 지정 암호화 방법이 이상적입니다.

0

URL 또는 일부를 숨기는 이유는 무엇입니까? 예를 들어 보겠습니다. http://www.sturm.xxx:8080/client/index.php/c_registration/modify_my_account/12

로그인 한 후 사용자는 자신의 등록 데이터 (비밀번호, 이메일 주소 등)를 수정할 수 있습니다. 위의 링크 번호 12는 사용자 ID입니다. 사용자가 충분히 똑똑하고 사용자 ID를 다시 작성하면 다른 사용자의 개인 데이터를 도용하거나 수정할 수 있습니다.

관련 문제