2013-03-26 1 views
0

이메일로 전송되는 링크가 계속 표시됩니다. 이 링크에서는 Base64으로 인코딩 된 민감한 암호화 된 데이터를 추가했습니다. 값에는 %2F (Server.UrlEncode)으로 인코딩 된 슬래시가 들어 있습니다. Windows Live 주소로 링크를 보내면 Outlook.com이 %2F을 슬래시로 다시 디코딩한다는 것을 알 수 있습니다. 이 문제를 어떻게 방지 할 수 있습니까?
<a href="http://www.tempuri.com/key=RVQ%2FcGhvbmVfaG9tZSE%3D">Continue</a>

을하지만보고 있어요 :Windows Live 메일에서 인코딩 된 슬래시의 디코딩을 방지하는 방법은 무엇입니까?

나는 보내고있다
<a href="http://www.tempuri.com/key=RVQ/cGhvbmVfaG9tZSE=%3D">Continue</a>

는 그것은 윈도우 라이브 주소로 에서 모든 메일 클라이언트를 링크 http://www.tempuri.com/key=RVQ%2FcGhvbmVfaG9tZSE%3D을 전송하여 재현 할 수 있습니다.

+0

Google에서 도움이 될 수 있도록 코드의 스냅 샷을 제공해주세요! –

+0

Base64 인코딩은 어떤 종류의 암호화도 제공하지 않으며 누구든지이를 해독 할 수 있습니다. 암호화를 수행해야하는 경우 MachineKey.Protect 정적 메서드를 사용하십시오. – Levi

답변

0

값을 두 번 인코딩 할 수 있습니다.

그래서 RVQ/cGhvbmVfaG9tZSE=RVQ%2FcGhvbmVfaG9tZSE%3D으로 인코딩됩니다. -> 이것이 귀하의 가치였습니다.

이제 이것을 인코딩하면 RVQ%252FcGhvbmVfaG9tZSE%253D -> 전자 메일 클라이언트는 % 252F를 슬래시로 디코딩하지 않으므로 문제가 해결됩니다.

값을 두 번 디코딩하는 것을 잊지 마세요.

+0

작동 하겠지만 메일은 여러 유형의 클라이언트에 전달됩니다. –

관련 문제