2010-12-20 1 views
0

나는 기본적으로 base64로 링크 된 코드를 인코딩 한 다음 PHP 페이지를 리디렉션하여이를 디코드하여 페이지로 전송하는 스크립트를 사용했습니다.base64 암호화를 통한 PHP 링크 망토 - 도움이 필요합니다.

내가 뭘 잘못하고 있는지, PHP는 내 최고의 기술이 아니라 단지 도움을 찾고 있는지 알 수 없습니다. 페이지

링크 :

<a href="http://www.XXXXXX.com/find.php?shop=<?php echo urlencode(base64_encode("long ass link goes here")); ?>">Test</a> 

find.php :

< ?php 

    $request_id = $_GET ['shop']; 
    $site = base64_decode($request_id); 

    header('Location: $site') ; 

?> 

답변

1

당신은 문자열에서 $ 변수를 사용하려면이 사용 따옴표 :

header("Location: $site"); 

또는 연결할 문자열 :

,210

더 많은 정보 here

+++ 그러나 사용자가 변경할 수 있으며 오류가 나타납니다 때문에, $ _SESSION에 가치를 더 잘 가게.

+0

URL이 어디에서 내 브라우저의 아래쪽을 가리키고 있는지를 볼 때 URL을 올바르게 인코딩하지 않습니다. – Ross

+0

미안하지만,/ – s3v3n

+0

상태 표시 줄 (브라우저의 하단 부분)에서 링크 위로 마우스를 가져 가면 URL이 base64로 인코딩 된 것을 볼 수 없으며 'http : // www.XXXXXX.com/find.php?shop= Ross

0

두 번째 코드를 복사하여 붙여 넣은 경우 <? 사이의 공백을 제거하십시오. <?php이어야합니다.

+0

나는 그것을 고쳤지만, 다른 대답에 대해 말했듯이, 내 원래의 링크가 어디에 있는지 볼 때, 그것은 나에게 보이지 않는다. 내 URL이 64 기수가 – Ross

+0

인코딩지고 것처럼 이 당신이 무엇을보고 아니라고 말하고있는 것을 http://XXXXXX.com/find.php?shop=aHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy80NDg2MzYwL3BocC1saW5rLWNsb2FrLXZpYS1iYXNlNjQtZW5jcnlwdGlvbi1uZWVkLWhlbHA%3D를 표시해야합니까? – royandrew

+0

내가 만들고있는 링크를 볼 수 있으며 실제로는 long64를 암호화하는 base64가 아닙니다. – Ross