2012-03-14 2 views
0

URL을 기록 할 수 있는지 여부는 지정된 URL을 클릭하고 응답을받을 수 있습니까? 나는 URL 컨텐트와 페이지의 정보를 필요로하지 않는다. 필요한 것은 URL에 도달했고 그 방식으로 사이트를 구축 할 모든 사용자 지정 방화벽에 침투했다는 것이다.안정적인 연결 확인을위한 URL JavaScript

+0

어떤 네트워크 핑 같은 :에서

봐? – j08691

+0

원본 보안 정책이 동일하기 때문에 JS가 AJAX 호출을 통해 임의의 URL을 공격 할 수는 없지만 JSONP 호출과 같은 방식으로 URL에 연결할 수 있는지 확인할 수 있습니다. '' 태그를 동적으로 생성하는 것이 더 나을지도 모릅니다. 그리고 그 요청의 상태가 끝나는 것을 볼 수 있습니다. –

답변

2

아니요. Same Origin Policy 벽을 칠 것입니다.

정말 서버 측에서해야합니다. JS 측에서는 서버 측에 간단한 아약스로 테스트하여 부울을 반환 할 수 있습니다. 이 옵션은 클라이언트와 원하는 URL 사이가 아니라 서버와 원하는 URL 사이의 연결 만 테스트합니다. 이것이 기능 요구 사항에 잠재적 인 문제점을 일으킬 수 있는지 확실하지 않습니다.

+0

선택적으로 신뢰할 수있는 JSON-P API를 호출하십시오. 결과가 나오면 URL에 도달했습니다. 결과를 무시하십시오. 결과가 나타나지 않으면 방화벽이 사용자를 차단했거나 호출 한 API가 다운 된 것입니다 (신뢰할 수있는 API를 선택하면 매우 희박합니다) – xbonez

+0

@xbonez : "특정 URL"이 공개되지 않을 것입니다 JSONP API 또는'Access-Control-Allow-Origin : *'을 가지고 있어야합니다. 그렇지 않으면 OP가이 질문을하지 않았을 것입니다. – BalusC

+0

오, 사실. 질문을 다시 읽으십시오. 나의 첫 번째 해석은 단순히 고객이 인터넷에 접속할 수 있는지 테스트하고 싶었다. 이 경우 모든 API로 충분합니다. – xbonez

0

URL에 대한 HEAD 요청을 만들 수 있습니다. 그러면 HTTP 헤더가 반환되지만 콘텐츠는 반환되지 않습니다.

브라우저에서 자바 스크립트 인 경우이 URL은 XMLHTTPRequest 객체를 사용하여 충분히 쉽게 처리 할 수 ​​있습니다. 제공된 URL은 동일한 도메인에 있으므로 물론 URL을 요청할 수 있습니다.

0

요청한 페이지에 Access-Control-Allow-Origin 헤더가있는 경우에만.

이 기능은 문서에 크로스 도메인 원본을 추가합니다.

현재로서는 최신 브라우저로만 검색 할 수 있으며이 헤더를 설정하기 위해 요청한 페이지에 대한 액세스 권한이 필요합니다.

http://www.w3.org/TR/cors/