> 백엔드 개발 > PHP 튜토리얼 > PHP 쿠키의 점(마침표)은 자동으로 underscore_php 팁으로 변환됩니다.

PHP 쿠키의 점(마침표)은 자동으로 underscore_php 팁으로 변환됩니다.

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

PHP 쿠키에서는 점(마침표)을 사용할 수 없습니다. 실제로는 쿠키 이름에 점을 사용할 수 있다고 해야 하지만 쿠키 이름은 다음과 같이 지정됩니다.

$_COOKIE['my.name'] = 1


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


echo $_COOKIE['내_이름'];


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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿