2010-06-09 8 views
0

나는 클라이언트를 위해 craigslist에 훨씬 쉽게 게시 할 수 있도록 greasemonkey 스크립트를 구축하고 있습니다. 우리의 시스템 (asp.net에 설립 인증 쿠키) 다른 도메인에서 jquery ajax 요청으로 쿠키 전달

  • 사용자는 "크레이그리스트 '라는 사이트에 대한 섹션을 탐색에

    1. 사용자 로그 :

      는 기본적으로 흐름이있다. greasemonkey 스크립트가 설치되어 있으면 자동으로 새 탭에 craigslist가 열립니다.
    2. greasemonkey 스크립트는 우리 사이트 (http://mysite.com/services.asmx/GetListings)에 다시 요청하여 craigslist에 게시 할 수있는 항목 목록을 검색합니다.

    http://mysite.com/services.asmx/GetListings에 대한 요청에 인증 쿠키가 포함되어 있지 않기 때문에 실패한 것입니다. 요청이 craigslist.org에서 시작 되었기 때문에 쿠키가 포함되어 있지 않은지 잘 모르겠습니다. mysite.com이 아니거나 무엇입니까? 인증 문제는 피들러에서 302를 반환하고 로그인 페이지로 리디렉션되기 때문에 알 수 있습니다. 어떤 조언을 주시면 감사하겠습니다

    $.ajax({ 
        url: "http://mysite.com/services.asmx/GetListings", 
        dataType: "json", 
        type: "post", 
        error: function(request, status, error) { 
         console.log("an error occurred getting the data"); 
        }, 
        success: function(data) { 
         console.log("got the data!!!"); 
        } 
    }); 
    

    :

    여기 내 요청입니다.

  • +1

    이렇게하면 과언이 아닙니다. ** 인터넷을 망칠 수 있습니다 **. 쿠키 기반 세션이있는 사이트는 완전히 안전하지 않을 수 있으며 피싱 이메일은 로그인 할 필요가 없기 때문에 쿠키를 가져 와서 이동할 수 있습니다. –

    +0

    좋은 지적. 그렇게 생각하지 않았습니다. 총 보안 위험. 나는 무엇을 생각하고 있었다. 하지만, 다음은 무엇을위한 것인가 : http://stackoverflow.com/questions/2054316/jquery-sending-credentials-with-cross-domain-posts – Micah

    +0

    * 도메인의 쿠키를 다른 도메인에만 전달합니다. 사용자는 처음부터 도메인에 필요한 쿠키를 전달하지 않았을 것입니다. –

    답변

    1

    한 도메인이 다른 도메인 이름으로 태그 된 브라우저 쿠키에 액세스하는 방법이 있다면 엄청난 보안 문제가 될 수 있습니다. 어쩌면 Greasemonkey 스크립트가 브라우저의 두뇌에서 쿠키를 어떻게 든 생생하게 처리 할 수는 있지만 코드를 페이지에 놓아 버리면 일반적인 보안 규칙이 적용될 수 있습니다.

    관련 문제