Остановить Javascript Redirect во всплывающем окне - PullRequest
0 голосов
/ 29 июля 2010

Я использую элемент управления Telerik RadWindow в одном из моих приложений. Когда пользователь хочет авторизовать Twitter для приложения, в окне отображается диалоговое окно OAuth для Twitter.

Однако каждый раз, когда я отображаю всплывающее окно для Twitter OAuth или даже просто простую страницу Twitter, весь браузер перенаправляется.

Элемент управления работает очень хорошо, если URL-адрес указывает на сайт, отличный от Twitter. Я хотел бы посмотреть, смогу ли я заблокировать это перенаправление или, возможно, есть более простой способ выполнить подтверждение OAuth. Будем весьма благодарны за любые советы о том, как реализовать эту функцию.

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 05 августа 2010

Твиттер правильно создал свою страницу авторизации для предотвращения межсайтовых скриптовых атак, а это значит, что вы не можете встроить ее в фрейм или всплывающее окно JavaScript.

К сожалению, единственный другой способ «авторизации» - это полное перенаправление или всплывающее окно, если ваши пользователи разрешают всплывающие окна.

Проблема с всплывающим окном заключается в том, что вам нужен способ «закрыть» его, когда твиттер перенаправляет обратно в ваше приложение. Это может быть сделано, но это немного сложно сделать, и кто знает, будет ли это работать в нескольких браузерах. Лучше всего позволить вашему сайту сделать полное перенаправление на данный момент.

0 голосов
/ 30 июля 2010

Такое поведение, вероятно, вызвано Twitter. Фактически, это должно происходить и на многих других сайтах (Facebook и аналогичных). Чтобы не допустить кражи пользовательских паролей вредоносными сайтами, страница входа в систему определяет, отображается ли она во встроенном фрейме (элемент IFRAME, например, используемый в RadWindow), и если это так, все окно браузера перенаправляется. Таким образом, они могут гарантировать, что никакой мошеннический JavaScript не будет работать, пока пользователь вводит свое имя пользователя и пароль.

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