2010-10-22 4 views
6

새 프로젝트를 시작하려고합니다. 프로젝트의 전제는 내 사이트에서 위젯을 생성 한 다음 귀하의 사이트에 자바 스크립트를 복사하고 위젯을 가지고있는 비올라입니다.비공개 자바 스크립트 위젯

이것은 polldady.com, twiig.com 및 addthis.com과 같은 기존 서비스에 새로운 방향을 제시합니다.

이러한 많은 서비스는 공개적으로 액세스 할 수 있도록 설계되었습니다. 위젯 공급자가 데이터를 다시 게시하는 것을 원하지 않는다는 것을 의미합니다. 사실 그들은 위젯을 최대한 넓고 넓게 퍼뜨리는 것이 좋습니다.

그러나 내 서비스에는 독특한 트위스트가 있습니다. 필자의 경우, 위젯은 일반 대중에게 공개 될 예정이지만, 나는 원래의 게시물 요청이 예상 사이트에서만 이루어지고 있는지 확인해야합니다.

이러한 자바 스크립트 위젯에 대한 xss 문제로 인해 위젯이 렌더링 될 iframe을 동적으로 만들어야합니다.

이러한 유형의 상호 작용을 처리하는 인증 모델이 있습니까?

답변

3

먼저 iframe을 사용하면 Same Origin Policy을 위반하는 것입니다. 평범한 구형 JavaScript를 사용하면 <form>을 만들고 .submit()을 호출하여이 게시물 요청을 어디서든지 실행할 수 있습니다. 사실 이것은 POST 기반 CSRF 익스플로잇이 작동하는 방식입니다. 이 POST 요청의 referer을 확인할 수 있지만 https 페이지에서 오는 경우이 값은 비어있게됩니다. (그 다음 당신은 서비스를 거절 할 수 있었다. ..). document.location을 POST 변수로 보내는 것은이 위젯을 수정하여 수정 된 값을보고하는 것이 쉽기 때문에 권장하지 않습니다. 그러나 수신 HTTP 요청에 포함 된 리퍼러는 off limits to the website's operator입니다.

관련 문제