Проблема двойного кодирования параметра URL в IE 7 и 8 - PullRequest
2 голосов
/ 12 ноября 2010

У меня проблема с обработкой ошибок сертификата безопасности браузером IE (7 и 8).Наше приложение должно отправить безопасную ссылку на электронную почту пользователя, состоящую из случайно сгенерированного токена, который может содержать специальные символы.Поэтому перед отправкой мы кодируем токен.Пример URL будет выглядеть следующим образом:

localhost: 8080 / myapp? T = 7f% 26DX% 243q9a

Когда пользователь открывает его в IE, он выдает страницу ошибки сертификата.(«Существует проблема с сертификатом безопасности этого веб-сайта.») Ссылка «Продолжить» на этой странице перекодирует наш токен во что-то другое:

localhost: 8080 / myapp? T = 7f% 2526DX% 25243q9a

(Таким образом, пользователь будет отправлен на несколько иной URL, чем мы ожидаем, как вы можете видеть.)

Здесь вы можете видеть, что "%" я отправилпревратиться в "% 25".как после этого правильно декодировать токен?

1 Ответ

1 голос
/ 12 ноября 2010

Nasty!

Если это воспроизводимая ошибка, а не странное поведение, вызванное некоторыми проблемами с набором символов или чем-то - это не похоже!- тогда я думаю, что единственный способ обойти это - использовать метод кодирования для параметра, который использует только буквы и цифры, например base64.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...