2017-03-08 1 views
-1

Php codeignitor에 하나의 보안 포털 프로젝트를 개발 중입니다. URL이 페이지 소스에 완전히 표시되는 <a> tag의 URL 암호화에 대해 알아야합니다. 나는 php에서 urlencode 함수를 잘 알고있다. 나는 또한 잘 해독 될 수 있기 때문에 그것을 사용하고 싶지 않다. 그래서 나는URL은 <a> 태그로 PHP에서 암호화됩니다.

대신 일반적인 방법으로 아래

<a href="https://somedomain.com/path1/path2">....</a> 

는 내가 암호화 기술의이 종류를 보았다이

<a href="xWAYK4rT3D9VBsheGElFZXtoL5zkfQ">....</a> 

같은 것을 원하는 것처럼 솔루션 뭔가 보이는합니다 어디서 암호화 되었더라도 현재 페이지로 이동합니다.

+0

서재응을 어떻게 처리합니까? 귀하의 페이지에 친숙한 친숙한 URL이 없다면? –

+2

더 나은 솔루션은 귀하의 코드를 보안하지 않습니다 .. –

+0

@SRana 귀하의 우려에 고마워하지만 내가 내 질문의 첫 번째 언급에서 서구의 필요가 아니에요, 그것의 보안 포털 오히려 그것은 목적을위한 것입니다 일부 비즈니스 우려의 내부 서비스. – Kathirmalan

답변

0

당신은 링크 자체 "xWAYK4rT3D9VBsheGElFZXtoL5zkfQ"를 만들 수 없습니다, 더 나은 URL과 고유의 생성 토큰을 추가 HREF는 = "https://somedomain.com/xWAYK4rT3D9VBsheGElFZXtoL5zkfQ" 암호화하고 해독 할 수있는 자신의 토큰 생성 코드를 사용합니다.

$ key = pack ('H *', "bcb04b7e103a0cd8b54763051cef08bc55abe029fdebae5e1d417e2ffb2a00a3");

$ codeAlphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

$ codeAlphabet. = "abcdefghijklmnopqrstuvwxyz";

$ encrypted_string = mcrypt_encrypt ($ key, $ codeAlphabet, ...);

$ decrypted_string = mcrypt_decrypt ($ key, $ codeAlphabet, ..);

+1

나는 이것이 옳은 대답 일 것이라고 생각한다. 기억할 것은 브라우저가 사용자의 암호를 해독 할 수있는 모든 것이 해독 할 수 있다는 것입니다. OP가 URL을 숨기고 싶은 이유, 특히 도메인을 숨기는 것이 중요한 이유에 대해 OP가 설명하면 도움이 될 것입니다. (이는 OP의 의도를 의심스럽게합니다.) 그러나 도메인을 표시하는 것이 좋으면 SERVER의 나머지 URL을 암호화 한 다음 서버에서 해독 할 토큰을 다시 보내는 것이 좋습니다. – Jerry