IE response.redirect - PullRequest
       3

IE response.redirect

1 голос
/ 21 марта 2011

Сегодня я столкнулся с чрезвычайно странной проблемой IE. IE терпит неудачу каждый раз, когда я пытаюсь сделать response.redirect более десяти раз! Конечно, страница отлично работает в FF и Chrome. Кто-нибудь еще испытывал что-то подобное?

Вот несколько фрагментов кода, чтобы убедиться, что я ничего не делаю явно неправильно ...

Loop

if ( iDomain < ubound(aDomain) ) then
    Response.Redirect "/home/login/a_logout.asp?site=" & strSite & "&domain=" & iDomain+1 & "&l=" & ilogout & "&s=" &sSid
end if

Массив

Dim aDomain(10)

aDomain(0) = ".x.com"
aDomain(1) = "www.x.com"
aDomain(2) = "w1.x.com"
aDomain(3) = "w2.x.com"
aDomain(4) = "x.com"
aDomain(5) = "w3.corporate.x.com"
'aDomain(5) = "w4.x.com"
aDomain(6) = "w5.x.com"
aDomain(7) = "w6.x.com"
'aDomain(8) = ""
'aDomain(9) = "w8.x.com"
aDomain(8) = "w9.x.com" 
aDomain(9) = "w10.x.com"

Удалены контекстно-зависимые данные.

Дайте мне знать, если вам нужна другая информация. Спасибо!

Ответы [ 3 ]

4 голосов
/ 21 марта 2011

Это поведение по умолчанию для предотвращения бесконечного зацикливания пользователя на одной и той же странице.

Ограничение IE8 - 10 запросов на одну и ту же страницу, Chrome и FireFox - 20.

И нет, другая строка запроса не составляет новую страницу, так как я обнаружил себя .

1 голос
/ 21 марта 2011

Я бы настоятельно рекомендовал вам изменить это. Перенаправление несколько раз - довольно плохая идея.

Вместо этого просто запустите любой код, который запускается вашей страницей a_logout локально. Я предполагаю, что вы очистили несколько файлов cookie. Отправьте все соответствующие файлы cookie с пустыми данными и сроком действия вчера.

0 голосов
/ 21 марта 2011

Перенаправление так часто является явно неправильным.Идеальное максимальное количество перенаправлений - 1. На практике может быть намного проще выполнять определенные задачи, если вы допускаете больше этого, но в любом случае более 5 перенаправлений должны рассматриваться как ошибка (более 1 на одном сервере илиболее 3, которые переходят на другой сервер, следует считать неоптимальными, но не срочными для исправления).

Браузеры не могут зависеть от того, что серверы никогда не делают ничего явно неправильного, поэтому после нескольких попыток они отказываются отсохранить пользователя с сервера.Иногда пользовательские агенты не защищают себя таким образом (не серьезные браузеры, но сделать простую часть клиентского кода HTTP - простая ошибка).Это не красиво.

Чтобы продемонстрировать, насколько это может быть плохо, рассмотрим случай, когда обработчик для / somePath /? Id = 1 перенаправляет на / somePath /? Id = 2, который перенаправляет на / somePath /? id = 3 и так далее.Насколько сервер знает, вы только что получили более неясную версию этого и никогда не прекратите перенаправление.

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