> 백엔드 개발 > PHP 튜토리얼 > 점(마침표)을 사용한 PHP 쿠키 이름이 변환됩니다._php 팁

점(마침표)을 사용한 PHP 쿠키 이름이 변환됩니다._php 팁

WBOY
풀어 주다: 2016-05-16 20:34:17
원래의
1559명이 탐색했습니다.

이 제목은 그다지 엄격하지 않습니다. 도트 쿠키 이름을 사용할 수 있지만 쿠키 이름은 다음과 같이 변환됩니다.

$_COOKIE['my.name'] = 1;

실제로 'my.name'을 통해 쿠키에서 이 값을 찾을 수 없으며 'my_name'만 찾을 수 있습니다.

echo $_COOKIE['my_name'];

php가 자동으로 변환했으며 마침표는 밑줄로 변환되었습니다.

PHP는 왜 이런 일을 할까요? 이는 $_GET/$_POST/$_SERVER/$_COOKIE 때문입니다. . . 이러한 전역 함수의 값은 많은 이전 버전에서 Register_globals 매개변수를 통해 로컬로 직접 액세스할 수 있습니다. 예를 들어, Register_globals = on을 켠 후 $my_name에 직접 액세스하면 값이 1이 됩니다. $my.name이면 PHP 변수 명명 원칙을 따르지 않습니다. 이것은 단지 마침표(.)의 문제가 아닙니다.

따라서 $_COOKIE의 이름은 이미 PHP 이름 지정 표준을 준수합니다.

register_globals도 활성화하면 다음과 같이 스크립트의 원래 값을 덮어쓸 수 있으므로 잘못된 결정입니다.

// 기타 코드
만약 ($a)
$uc_is_login = true;
// ...

기본적으로 로그인하려면 사용자는 url?a=1로 http 요청만 보내면 됩니다. 이는 매우 위험한 관행이므로 중단해야 합니다. 실제로 php6에서는 이 옵션이 제거되었습니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿