> 백엔드 개발 > PHP 튜토리얼 > PHP에서 Register_Globals가 위험한 이유는 무엇입니까?

PHP에서 Register_Globals가 위험한 이유는 무엇입니까?

Barbara Streisand
풀어 주다: 2024-11-17 19:27:02
원래의
956명이 탐색했습니다.

Why is Register_Globals Dangerous in PHP?

PHP에서 Register_Globals 및 전역 키워드 이해

웹 애플리케이션으로 작업할 때, PHP에서 Register_Globals 및 전역 키워드의 개념을 이해하는 것이 중요합니다. PHP.

Register_Globals란 무엇입니까?

register_globals 지시문은 $_REQUEST 배열의 요소를 자동으로 변수로 등록합니다. 즉, 양식(POST 또는 GET)을 통해 제출된 모든 데이터는 해당 입력 필드의 이름이 포함된 PHP 변수로 즉시 액세스할 수 있습니다.

이 기능은 처음에는 편리해 보일 수 있지만 애플리케이션을 다음에 노출시킵니다. 보안 취약점. 공격자는 URL 쿼리 문자열이나 제출된 양식 데이터를 조작하여 임의의 변수를 설정하고 잠재적으로 무단 액세스를 얻을 수 있습니다. 따라서 보안상의 이유로 Register_globals를 비활성화하는 것이 좋습니다.

예:

사용자가 로그인 양식을 통해 사용자 이름과 비밀번호를 제출할 수 있는 시나리오를 생각해 보세요. Register_globals를 활성화하면 공격자는 URL에 다음을 추가할 수 있습니다.

?username=admin&password=secret
로그인 후 복사

이렇게 하면 PHP 스크립트에서 $username 및 $password 변수가 자동으로 설정되어 공격자가 인증 프로세스를 우회할 수 있습니다.

글로벌 키워드란 무엇인가요?

글로벌 키워드는 용도가 다르며,register_globals와는 관련이 없습니다. 함수 외부에서 정의된 변수를 해당 함수 내에서 액세스하거나 수정할 수 있습니다.

예:

$foo = 'bar';

function baz() {
    echo $foo; // PHP generates a warning as $foo is undefined within this scope
}

function buzz() {
    global $foo; // Enables access to the global variable $foo
    echo $foo; // Prints 'bar' to the screen
}
로그인 후 복사

위 내용은 PHP에서 Register_Globals가 위험한 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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