0
XSS를 시도했기 때문에 아래가 작동하지 않는다고 생각했지만 로컬 포트 리디렉션을 확인하여 시도했지만 여전히 작동하지 않습니다. 누군가 XSS가 아닌지 알려 주실 수 있습니까? 그렇지 않다면 왜 작동하지 않는 겁니까?외부 사이트에 대한 Ajax.Request : 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>
정확히 일치합니다. XSS는 공격입니다. 이런 종류의 공격을 막기위한 기원 정책이 있습니다. 그렇지 않으면 사이트가 단순히 gmail 또는 다른 사이트에서 데이터를로드하고 정보를 훔칠 수 있습니다. Ajax에서 외부 사이트의 데이터를로드하려면 웹 사이트에서 프록시를 사용하고 프록시를 통해 데이터를로드하십시오. – Erlend
맞습니다. –