AJAX 요구에 의한 쿠키 송신 방지
스크립트에서 호출하는 웹 서비스가 있지만 쿠키에 저장되는 정보는 필요하지 않습니다.제가 서비스에 요청하면 쿠키는 함께 보내집니다.디폴트로는 HTTP 요구와 함께 쿠키가 송신되는 것은 알고 있습니다만, 그 동작을 덮어쓰고 쿠키를 송신하지 않는 방법은 없습니까?
한마디로 다음과 같이 의뢰합니다.
$.ajax({
type: "POST",
cache: false,
url: url,
data: data,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(response) { successFunc(response); },
error: function(xhr) { errorFunc(xhr); }
});
서버의 쿠키리스 서브도메인으로 AJAX 요구를 송신합니다.즉, 앱은 www.mydomain.com이며, 쿠키를 설정하지 않은 api.mydomain.com에서 Ajax 요청이 제공됩니다.또, 이미지등의 정적 파일을 사용하는 것도 좋은 방법입니다.
http://developer.yahoo.com/performance/rules.html의 "컴포넌트에 쿠키 없는 도메인 사용" 섹션을 참조하십시오.
또 다른 접근법은 $.ajax를 실행하기 전입니다.
1. javascript를 사용하여 해당 도메인의 쿠키를 브라우저에서 가져옵니다(글로벌 변수에 저장).
2. 브라우저에서 javascript를 사용하여 도메인 쿠키를 삭제합니다.
3. $.199 콜을 한다.
4. (글로벌 변수의) 쿠키를 브라우저로 되돌립니다.
도메인에서 쿠키가 전혀 필요하지 않은 경우 해당 쿠키를 삭제하십시오(따라서 1. 및 4. 건너뛰기).
withCredentials 플래그는 발신원 간 Ajax 콜을 사용하여 쿠키를 실제로 전송하기 위해 필요합니다.
참조: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials
false로 설정하면 쿠키가 전송되지 않습니다.
같은 발신기지 요구에 대해서는, 여기에 기재되어 있는 그 외의 회답에 따를 필요가 있습니다.
브라우저가 HTTP 요청과 함께 일치하는(경로+도메인+세션) 쿠키를 보낸다는 말은 맞습니다.이것은 cookie 메커니즘이 기능하기 위해 매우 중요합니다.
그냥 쿠키만 읽지 말아줄래?
또한 쿠키가 처음 설정되었을 때 쿠키에 액세스할 수 있는 디렉토리(및 하위 디렉토리)를 설정할 수 있습니다.
예를 들어 /foo/bar/에서만 읽도록 쿠키를 설정한 경우 /whatter/ajaxHandler에 파일이 있습니다.php는 이러한 쿠키를 볼 수 없습니다.
http://us.php.net/setcookie 를 참조해 주세요.
당신이 PHP를 사용하고 있는지는 모르겠지만, 당신에게는 좋은 출발점이 될 수 있습니다.
아니요, 쿠키는 항상 전송됩니다.
및 " " " 를 할 수 .http
바바는는
또는 (많은 사이트에서 사용하는) 쿠키를 전송하지 않은 새로운 서브도메인을 만듭니다.
언급URL : https://stackoverflow.com/questions/2829201/prevent-cookies-from-being-sent-on-ajax-request
'programing' 카테고리의 다른 글
reactj의 호버 상태에 액세스하려면 어떻게 해야 합니까? (0) | 2023.02.25 |
---|---|
WordPress를 사용한 PHP if/else get_field() (0) | 2023.02.25 |
Wordpress: WHY 루프에서 current_post 인덱스 번호를 가져옵니다. (0) | 2023.02.25 |
반응 JS 오류: 정의되지 않은 반응/jsx-no-def (0) | 2023.02.20 |
SQL에서 값 목록을 테이블 행과 결합 (0) | 2023.02.20 |