2011-08-11 6 views
3

크로스 사이트 스크립팅의이 문제가 다뤄 졌음을 알았지 만, 웹 개발에 새로운 것이므로 몇 가지 추가 질문이있었습니다.XMLHttpRequest 크로스 사이트 스크립팅?

현재 다른 컴퓨터에서 RESTFul 웹 서비스에 연결되어있는 PC에서 작성한 html 파일을 테스트하고 있습니다. 나는 status=0을 얻고 있습니다. 이것은 크로스 사이트 스크립팅으로 간주됩니까?

서버에서 자바 스크립트 파일을 호스팅하고 해당 자바 스크립트 파일의 서버 웹 서비스에 XMLHttpRequest이있는 경우 해당 파일이 작동합니까?

위의 질문 중 일부가 어리석은 경우 사과드립니다.

+0

바보 같은 질문이 아닙니다. ;-) 나는 며칠 전 나 자신에게도 같은 질문을했다. –

답변

0

아니요, 이것은 크로스 사이트 스크립팅이 아닙니다. 다른 서버의 스크립트 JS 파일을 사이트에 포함 시키면 JS 스크립트가 원래 있던 XMLHttpRequest 사이트를 통해 액세스 할 수 없습니다.

jQuery 파일을 호스트하는 사용자가 가능하면 google을 포함한 많은 서버가 XMLHttpRequests 용으로 열립니다.

그래서, 불가능합니다.

다른 서버에서 JSON 응답을 받으려면 pjson을 사용할 수 있습니다. Google 더 자세한 정보.

크로스 사이트 스크립팅은 누군가가 액세스 제어를 우회하기 위해 사이트에 JavaScript 코드를 삽입하는 경우입니다.

1

status=0 나는 다양한 것을 할 수 있으며 그 점에 어떻게 도달했는지에 대해 더 많이 알지 못한다면 정확히 무엇을 의미 하는지를 판단하기가 매우 어렵습니다. 당신은 iframe을 사용할 수 있습니다, 다른 컴퓨터는 진실하게 당신이 상태가 0이라고 말할 수 있습니다 ... 우리는 모른다.


일반적인 규칙

는 JS가에서 곳이 중요하지 않은 그것 로드의 데이터를 실행한다는 것이다. 이것이 Google js 보관 API를 가능하게하는 것입니다 (알고 계시 겠지만 https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.js을 다양한 위치에 사용하십시오). 솔직히 보안 문제는 아닙니다.

iframe을 조작하거나 XMLHTTPRequest를 통해 js 파일이 다른 도메인 (또는 하위 도메인)에 액세스하려고하면 보안 문제가 발생합니다. 이 시점에서 브라우저는 스크립트에 "smackdown을 놓을 것"입니다.

하드 드라이브 (file : ///)에서 모든 인터넷 프로토콜 (http | https)으로 JavaScript와 통신하는 데 어려움이 있습니다.

0

CORS를 사용할 수 있습니다. 지금 사용하는 코드를 사용할 수 있지만 아약스를 통해 페이지를 요청한 다른 서버는 해당 페이지에 다음 헤더를 보내야합니다.

Access-Control-Allow-Origin: http://yoursite.example.com 
#or to allow all hosts 
Access-Control-Allow-Origin: * 
관련 문제