2010-04-11 2 views
0

빠른 예/아니요 - AJAX 애플리케이션을 구축 중이며 일부 스크립트는 인증이 필요합니다. $.get() 또는 $.post()이든 PHP 스크립트가 XHR을 통해 호출 된 경우 서버에서 $_COOKIE['username']$_COOKIE['password']을 읽을 수 있습니까?

사이드 질문 : 쿠키를 설정할 수 있습니까? 그것은 "좋은 습관"으로 간주됩니까?

+0

PHP와 방화 광으로 확인하는 것이 더 빠르지 않습니까? –

+0

특히. 아직 실제로 사이트를 구축하지 않았습니다. 그보다 더 많은 시간이 필요할 것입니다. 아니, 나는 게으르다. 그러나 나는 마지막 순간에 실패하기 만하는 것을 코드화하고 싶지 않다. –

답변

1

HTTP 요청의 헤더으로 쿠키가 전송됩니다. HTTP 프로토콜 (또는 HTTPS)을 사용하는 한 어떤 종류의 요청 (예 : GET/POST/etc)이 있더라도 쿠키 헤더를 사용할 수 있습니다. 이것은 양방향 거리입니다. 쿠키는 헤더에서 서버 (Cookie: 헤더)로 전송되고 서버는 쿠키를 헤더 (Set-Cookie: 헤더)로 설정합니다.

이것은 Ajax/XHR 요청이 HTTP 요청의 핵심이기 때문에 괜찮습니다. 최신 브라우저는 모두 Ajax 요청과 함께 쿠키를 보내고 결과적으로 들어오는 쿠키를 모두 존중합니다. 즉, 수신 PHP 스크립트의 경우 $_COOKIE에 쿠키가있을 경우 정상적으로 포함됩니다.

+0

좋은 대답과 설명. –

1

예. 그들은 쿠키 도메인과 일치하는 모든 요청에 ​​대해 HTTP 요청 헤더를 통해 들어올 것입니다.

이러한 요청에 PHP 세션 및 쿠키 변수를 사용할 수 있습니다.

쿠키도 설정할 수 있습니다 (Google 사이트에서는 Ajax 로그인 양식을 사용하여 쿠키를 설정할 수 있습니다). 기술적으로나 철학적으로 문제가 있다고 생각하지 않습니다.

관련 문제