Здесь очень странная ошибка. Мы правильно получаем запрос на что-то вроде "/users/8788234"
В Rails мы вызываем:
redirect_to(:controller => 'login', :from_external_page => true, :on_login => request.env['REQUEST_URI']) and return
Мы видим (как и следовало ожидать) в журнале Rails: Перенаправлено на
https://sampleapp.com/login?from_external_page=true&on_login=%2Fusers%2F8788234
Но тогда следующий запрос, который мы видим из IP, имеет значения строки запроса скремблирования:
Started GET "/login?from_external_page=gehr&on_login=%2Shfref%2S8788234" for xx.xxx.xxx.xxx at yyyy-mm-dd
Это делает значения строки запроса бессмысленными и вызывает следующую ошибку:
ArgumentError: invalid %-encoding
(% 2F было изменено на% 2S, что является недопустимым). Каждое отдельное значение каждой пары ключ-значение в строке запроса смещается на 13 символов. Каждый раз, когда мы это видели, пользовательский агент читает: "Mozilla/5.0 (совместимый MSIE 9.0, Windows NT 6.1, WOW64; Trident/5.0)", но мы также видим, что пользовательский агент успешно перемещает приложение. Кто-нибудь когда-нибудь видел что-то подобное? http://www.whatismybrowser.com/ сообщает мне, что этот пользовательский агент IE9 работает в Windows 7, но мы не смогли воспроизвести ошибку.