Что это может означать, если я делаю ajax-запрос с помощью jQuery .load() и вообще не получаю ответа в firefox или chrome, а в ie8 я получаю сообщение об ошибке «Отказано в доступе»?
Проблемы AJAX, нет ответа или доступ запрещен
comment
@user278457 user278457 используйте firebug в firefox и посмотрите, что происходит
- person ACP   schedule 22.02.2010
comment
Я использовал firebug, полностью пустой ответ. Проблема заключалась в той же политике происхождения.
- person David Meister   schedule 22.02.2010
Ответы (3)
Если вы загружаете страницу из другого домена (например, www.yoursite.com и пытаетесь загрузить «yoursite.com» или даже «google.com»), вы получаете межсайтовый скриптинг ошибка предотвращения.
person
Timothy Khouri
schedule
22.02.2010
Это не XSS, в котором Сторона A обманом заставляет Сторону B посетить веб-сайт Стороны C, используя URL-адрес, предназначенный для использования дыры в безопасности на веб-сайте Стороны C, которая позволяет добавлять на него произвольный код.
- person Quentin; 22.02.2010
Почему, это неправильно? (читает…). Нет, это подтверждает то, что я сказал. Речь идет о подмножестве уязвимостей внедрения кода, а не о браузерах, мешающих авторам выполнять междоменные HTTP-запросы. Уязвимость XSS позволяет обойти ту же политику происхождения — полная противоположность блокировке запроса той же политикой происхождения!
- person Quentin; 22.02.2010
@David: Вы правы, но разве политика не предотвращает XSS?
- person Daniel Vassallo; 22.02.2010
Нет. Он останавливает другой вид атаки на сторонний сайт.
- person Quentin; 22.02.2010
ОМФГ. это.никогда.не.становится.проще! но, еще раз, спасибо, ребята. Сегодня я влюбился в переполнение стека. Дважды спас мою кодинговую жизнь.
- person David Meister; 22.02.2010
да, я вставил www. перед моим доменом и все заработало. Забавно, что именно IE натолкнул меня на мысль, что причиной проблемы может быть что-то вне моего кода.
- person David Meister; 22.02.2010
Обычно это означает, что вы пытаетесь нарушить политику того же источника и запрашиваете данные с другого хоста.
person
Quentin
schedule
22.02.2010
попробуйте получить доступ к своим данным через прокси-сервер php следующим образом: http://www.daniweb.com/code/snippet216729.html
с помощью jQuery вы можете отправить запрос на ваш/относительный/путь/к/proxy.php?proxy_url=http://www.domain.com/yourdata
person
buggy1985
schedule
22.02.2010
Не используйте прокси-сервер, который не устанавливает строгих ограничений на запрашиваемые URI. В противном случае вы становитесь посредником для атак сторонних сайтов и для спамеров, которые маскируют свои собственные URI.
- person Quentin; 22.02.2010
Ты прав. Но вы можете предотвратить атаки, проверив URL-адрес в своем PHP-скрипте перед доступом к нему.
- person buggy1985; 23.02.2010