이전 글에서는 슈퍼 전역 변수가 무엇인지, $GLOBALS가 무엇인지 알아보았습니다. 필요하신 분은 "편집자가 PHP 변수의 $GLOBALS를 알려드립니다"를 읽어보세요. 이번에 소개하는 $_SERVER는 필요하시면 참고하시면 됩니다.
이 배열을 이해하기 위해 작은 밤나무를 살펴보겠습니다.
<?php echo $_SERVER['PHP_SELF']; echo "<br>"; echo $_SERVER['SERVER_NAME']; echo "<br>"; echo $_SERVER['HTTP_HOST']; echo "<br>"; echo $_SERVER['HTTP_REFERER']; echo "<br>"; echo $_SERVER['HTTP_USER_AGENT']; echo "<br>"; echo $_SERVER['SCRIPT_NAME']; ?>
결과는
/try/demo_source/demo_global_server.php www.runoob.com www.runoob.com https://www.runoob.com/try/showphp.php?filename=demo_global_server Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36 /try/demo_source/demo_global_server.php
먼저 결과를 대략적으로 살펴보면 모두 동일한 주소인 것 같습니다. 그러면 이 배열이 정보를 저장하는 배열이라는 것을 과감하게 추측해 보겠습니다.
$_SERVER는 헤더 정보(header), 경로(path), 스크립트 위치(scriptlocations) 및 기타 정보를 포함하는 배열입니다. 이 배열의 항목은 웹 서버에 의해 생성됩니다. 모든 서버가 모든 항목을 제공한다는 보장은 없습니다. 서버는 일부 항목을 무시하거나 여기에 나열되지 않은 항목을 제공할 수 있습니다.
모든 $_SERVER 변수의 중요한 요소에 대해 이야기해 보겠습니다.
$_SERVER['PHP_SELF'], 문서 루트와 관련된 현재 실행 중인 스크립트의 파일 이름입니다. 예를 들어,
http://example.com/test.php/foo.bar
의 스크립트에서$_SERVER['PHP_SELF']
를 사용하면가 됩니다. /test.php/foo.bar
. __FILE__ 상수에는 현재(즉, 포함하는) 파일의 전체 경로와 파일 이름이 포함됩니다. PHP 버전 4.3.0부터 PHP가 명령줄 모드에서 실행 중인 경우 이 변수에는 스크립트 이름이 포함됩니다. 이 변수는 이전 버전에서는 사용할 수 없습니다.http://example.com/test.php/foo.bar
的脚本中使用$_SERVER['PHP_SELF']
将得到/test.php/foo.bar
。__FILE__ 常量包含当前(例如包含)文件的完整路径和文件名。 从 PHP 4.3.0 版本开始,如果 PHP 以命令行模式运行,这个变量将包含脚本名。之前的版本该变量不可用。$_SERVER['GATEWAY_INTERFACE'],服务器使用的 CGI 规范的版本;例如,"
CGI/1.1
"。$_SERVER['SERVER_ADDR'],当前运行脚本所在的服务器的 IP 地址。
$_SERVER['SERVER_NAME'],当前运行脚本所在的服务器的主机名。如果脚本运行于虚拟主机中,该名称是由那个虚拟主机所设置的值决定。
$_SERVER['SERVER_SOFTWARE'],服务器标识字符串,在响应请求时的头信息中给出。 (如:
Apache/2.2.24
)$_SERVER['SERVER_PROTOCOL'],请求页面时通信协议的名称和版本。例如,"
HTTP/1.0
"。$_SERVER['REQUEST_METHOD'],访问页面使用的请求方法;例如,"GET", "HEAD","POST","PUT"。
$_SERVER['REQUEST_TIME'],请求开始时的时间戳。从
PHP 5.1.0
起可用。 (如:1377687496)$_SERVER['QUERY_STRING'],
query string
(查询字符串),如果有的话,通过它进行页面访问。$_SERVER['HTTP_ACCEPT'],当前请求头中 Accept: 项的内容,如果存在的话。
$_SERVER['HTTP_ACCEPT_CHARSET'],当前请求头中
Accept-Charset
: 项的内容,如果存在的话。例如:"iso-8859-1,*,utf-8"。$_SERVER['HTTP_HOST'],当前请求头中 Host: 项的内容,如果存在的话。
$_SERVER['HTTP_REFERER'],引导用户代理到当前页的前一页的地址(如果存在)。由
user agent
设置决定。并不是所有的用户代理都会设置该项,有的还提供了修改HTTP_REFERER
的功能。简言之,该值并不可信。)$_SERVER['HTTPS'],如果脚本是通过 HTTPS 协议被访问,则被设为一个非空的值。
$_SERVER['REMOTE_ADDR'],浏览当前页面的用户的 IP 地址。
$_SERVER['REMOTE_HOST'],浏览当前页面的用户的主机名。DNS 反向解析不依赖于用户的
REMOTE_ADDR
。$_SERVER['REMOTE_PORT'],用户机器上连接到 Web 服务器所使用的端口号。
$_SERVER['SCRIPT_FILENAME'],当前执行脚本的绝对路径。
$_SERVER['SERVER_ADMIN'],该值指明了
Apache
服务器配置文件中的SERVER_ADMIN
参数。如果脚本运行在一个虚拟主机上,则该值是那个虚拟主机的值。$_SERVER['SERVER_PORT'],Web 服务器使用的端口。默认值为 "80"。如果使用 SSL 安全连接,则这个值为用户设置的 HTTP 端口。
$_SERVER['SERVER_SIGNATURE'],包含了服务器版本和虚拟主机名的字符串。
$_SERVER['PATH_TRANSLATED'],当前脚本所在文件系统(非文档根目录)的基本路径。这是在服务器进行虚拟到真实路径的映像后的结果。
$_SERVER['SCRIPT_NAME'],包含当前脚本的路径。这在页面需要指向自己时非常有用。
__FILE__
🎜$_SERVER['GATEWAY_INTERFACE'], 서버에서 사용하는 CGI 사양 버전(예: "$_SERVER['SCRIPT_URI'], URI는 액세스할 페이지를 지정하는 데 사용됩니다. 예를 들어 "
/index.html
"입니다.
CGI/1.1
") 🎜🎜🎜$_SERVER['SERVER_ADDR'], 스크립트가 현재 실행 중인 서버의 IP 주소입니다. 🎜🎜🎜$_SERVER['SERVER_NAME'], 스크립트가 현재 실행 중인 서버의 호스트 이름입니다. 스크립트가 가상 호스트에서 실행 중인 경우 이름은 해당 가상 호스트에 설정된 값에 따라 결정됩니다. 🎜🎜🎜$_SERVER['SERVER_SOFTWARE'], 요청에 응답할 때 헤더 정보에 제공되는 서버 식별 문자열입니다. (예: Apache/2.2.24
)🎜🎜🎜$_SERVER['SERVER_PROTOCOL'], 페이지를 요청할 때 통신 프로토콜의 이름과 버전. 예를 들어 "HTTP/1.0
"입니다. 🎜🎜🎜$_SERVER['REQUEST_METHOD'], 페이지에 액세스하는 데 사용되는 요청 방법(예: "GET", "HEAD", "POST", "PUT"). 🎜🎜🎜$_SERVER['REQUEST_TIME'], 요청이 시작된 타임스탬프입니다. PHP 5.1.0
에서 사용 가능합니다. (예: 1377687496)🎜🎜🎜$_SERVER['QUERY_STRING'], query string
(쿼리 문자열)이 있는 경우 이를 통해 페이지 액세스가 수행됩니다. 🎜🎜🎜$_SERVER['HTTP_ACCEPT'], 현재 요청 헤더에 Accept: 항목이 있는 경우 해당 내용. 🎜🎜🎜$_SERVER['HTTP_ACCEPT_CHARSET'], 현재 요청 헤더에 있는 Accept-Charset
: 항목의 내용(있는 경우). 예: "iso-8859-1,*,utf-8". 🎜🎜🎜$_SERVER['HTTP_HOST'], 현재 요청 헤더에 Host: 항목의 콘텐츠(존재하는 경우). 🎜🎜🎜$_SERVER['HTTP_REFERER']는 사용자 에이전트를 현재 페이지의 이전 페이지 주소(존재하는 경우)로 연결합니다. 사용자 에이전트
설정에 따라 결정됩니다. 모든 사용자 에이전트가 이 항목을 설정하는 것은 아니며 일부는 HTTP_REFERER
를 수정하는 기능도 제공합니다. 한마디로 그 가치를 신뢰할 수 없다는 것이다. )🎜🎜🎜$_SERVER['HTTPS']는 HTTPS 프로토콜을 통해 스크립트에 액세스하는 경우 비어 있지 않은 값으로 설정됩니다. 🎜🎜🎜$_SERVER['REMOTE_ADDR'], 현재 페이지를 탐색하는 사용자의 IP 주소입니다. 🎜🎜🎜$_SERVER['REMOTE_HOST'], 현재 페이지를 검색하는 사용자의 호스트 이름입니다. DNS 역방향 확인은 사용자의 REMOTE_ADDR
에 의존하지 않습니다. 🎜🎜🎜$_SERVER['REMOTE_PORT'], 웹 서버에 연결하기 위해 사용자 컴퓨터에서 사용되는 포트 번호입니다. 🎜🎜🎜$_SERVER['SCRIPT_FILENAME'], 현재 실행 중인 스크립트의 절대 경로입니다. 🎜🎜🎜$_SERVER['SERVER_ADMIN'], 이 값은 Apache
서버 구성 파일의 SERVER_ADMIN
매개변수를 지정합니다. 스크립트가 가상 호스트에서 실행 중인 경우 이 값은 해당 가상 호스트의 값입니다. 🎜🎜🎜$_SERVER['SERVER_PORT'], 웹 서버에서 사용하는 포트입니다. 기본값은 "80"입니다. SSL 보안 연결을 사용하는 경우 이 값은 사용자가 설정한 HTTP 포트입니다. 🎜🎜🎜$_SERVER['SERVER_SIGNATURE'], 서버 버전과 가상 호스트 이름이 포함된 문자열입니다. 🎜🎜🎜$_SERVER['PATH_TRANSLATED']: 현재 스크립트가 있는 파일 시스템(문서 루트 디렉터리 아님)의 기본 경로입니다. 이는 서버를 가상 경로에서 실제 경로로 이미지화한 후의 결과입니다. 🎜🎜🎜$_SERVER['SCRIPT_NAME']에는 현재 스크립트의 경로가 포함되어 있습니다. 이는 페이지가 자신을 가리켜야 할 때 유용합니다. __FILE__
상수에는 현재 스크립트(예: 포함 파일)의 전체 경로와 파일 이름이 포함됩니다. 🎜그게 다입니다. 더 알고 싶다면 여기를 클릭하세요. → →php 비디오 튜토리얼
위 내용은 $_SERVER 게임 방법을 가르쳐주세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

이 기사는 산 및 기본 데이터베이스 모델을 비교하여 특성과 적절한 사용 사례를 자세히 설명합니다. 산은 금융 및 전자 상거래 애플리케이션에 적합한 데이터 무결성 및 일관성을 우선시하는 반면 Base는 가용성 및

이 기사는 코드 주입과 같은 취약점을 방지하기 위해 PHP 파일 업로드 보안에 대해 설명합니다. 파일 유형 유효성 검증, 보안 저장 및 오류 처리에 중점을 두어 응용 프로그램 보안을 향상시킵니다.

기사는 내장 함수 사용, 화이트리스트 접근 방식 및 서버 측 유효성 검사와 같은 기술에 중점을 둔 보안을 향상시키기 위해 PHP 입력 유효성 검증에 대한 모범 사례를 논의합니다.

이 기사는 토큰 버킷 및 누출 된 버킷과 같은 알고리즘을 포함하여 PHP에서 API 요율 제한을 구현하고 Symfony/Rate-Limiter와 같은 라이브러리 사용 전략에 대해 설명합니다. 또한 모니터링, 동적 조정 요율 제한 및 손도 다룹니다.

이 기사에서는 PHP에서 암호를 보호하기 위해 PHP에서 Password_hash 및 Password_Verify 사용의 이점에 대해 설명합니다. 주요 주장은 이러한 기능이 자동 소금 생성, 강한 해싱 알고리즘 및 Secur를 통해 암호 보호를 향상 시킨다는 것입니다.

이 기사는 PHP 및 완화 전략의 OWASP Top 10 취약점에 대해 설명합니다. 주요 문제에는 PHP 응용 프로그램을 모니터링하고 보호하기위한 권장 도구가 포함 된 주입, 인증 파손 및 XSS가 포함됩니다.

이 기사는 PHP의 XSS 공격을 방지하기위한 전략, 입력 소독, 출력 인코딩 및 보안 향상 라이브러리 및 프레임 워크 사용에 중점을 둔 전략에 대해 설명합니다.

이 기사는 각각의 사용시기에 중점을 둔 PHP의 인터페이스 및 추상 클래스 사용에 대해 설명합니다. 인터페이스는 관련없는 클래스 및 다중 상속에 적합한 구현없이 계약을 정의합니다. 초록 클래스는 일반적인 기능을 제공합니다


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

WebStorm Mac 버전
유용한 JavaScript 개발 도구

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기
