Ajax. Запрос на внешний сайт: XSS или нет? - PullRequest
0 голосов
/ 20 сентября 2011

Я думал, что нижеприведенное не работает, потому что я пытался XSS, но я попытался выполнить перенаправление локального порта для подтверждения, и это все равно не сработало. Может кто-нибудь сообщить мне, если это XSS или нет, и если нет, то почему он не работает?

<html>
   <div id="output"></div>
   <script src="prototype.js" type="text/javascript"></script>
   <script type="text/javascript">
      function test()
      {
         this.url = "http://www.google.com"
      }

      test.prototype.run = function() 
      {
         var request = new Ajax.Request(this.url, 
            {
               method: "get",
               onSuccess: this.success.bind(this),
               onFailure: function(response) { alert("failure"); }
            });
      };

      test.prototype.success = function(response)
      {
         var debug = "this.url = " + this.url + ",<br>"
            + " response.status = " + response.status + ",<br>"
            + " response.statusText = " + response.statusText + ",<br>"
            + " response.readyState = " + response.readyState + ",<br>"
            + " response.responseText = " + response.responseText + ",<br>"
            + " response.responseXML = " + response.responseXML + ",<br>"
            + " response.responseJSON = " + response.responseJSON + ",<br>"
            + " response.headerJSON = " + response.headerJSON + ",<br>"
            + " response.request = " + response.request + ",<br>"
            + " response.transport = " + response.transport + ",<br>"
            + " response.transport.readyState = " + response.transport.readyState + ",<br>"
            + " response.transport.responseText = " + response.transport.responseText + ",<br>";
         document.getElementById("output").update(debug);
      };

      new test().run();
   </script>
</html>

1 Ответ

3 голосов
/ 20 сентября 2011

это не XSS (это способ атаковать клиентскую часть веб-приложений), но здесь действует просто та же политика происхождения. Вы не можете просто запросить данные с помощью Ajax-запроса из домена, отличного от вашего (вы имеете в виду тот, из которого было загружено ваше веб-приложение).

Узнайте больше об этом здесь: http://en.wikipedia.org/wiki/Same_origin_policy

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