将PHP目录整理在一起

调查PHP路径和文件获取方法。
可以从$_ENV和$_SERVER获取目录路径。
“$_SERVER”包含由Web服务器生成的服务器信息和运行时的环境信息。
“$_ENV”包含在服务器端设置的环境变量。

dir.php -> 目录.php

var_dump($_SERVER['HTTP_HOST']);
var_dump($_SERVER['SERVER_NAME']);
var_dump($_SERVER['DOCUMENT_ROOT']);
var_dump($_SERVER['SCRIPT_FILENAME']);
var_dump($_SERVER['SCRIPT_NAME']);
var_dump($_SERVER['PHP_SELF']);
var_dump($_SERVER['REQUEST_URI']);
var_dump(__FILE__);
var_dump(__DIR__);
var_dump(__LINE__);
var_dump(dirname(__FILE__));
var_dump(dirname(__DIR__));
var_dump(dirname($_SERVER['SCRIPT_NAME']));
var_dump(basename(__FILE__));
var_dump(basename(__DIR__));
var_dump(basename($_SERVER['REQUEST_URI']));

获取目录路径列表

当访问以下网址时:URL:http://example.localhost/dir1/dir2/phpdir.php?test=aaa,文档根目录为:/var/www/html。

変数名例説明$_SERVER$_SERVER['HTTP_HOST']example.localhostリクエストヘッダに含まれるHOST
XSSの危険性あり
$_SERVER['SERVER_NAME']example.localhostApacheの設定ファイル等に
記述されているSERVER_NAME
$_SERVER['DOCUMENT_ROOT']/var/www/htmlドキュメントルートのフルパス
$_SERVER['SCRIPT_FILENAME']/var/www/html/dir1/dir2/dir.phpフルパスとファイル名
$_SERVER['SCRIPT_NAME']/dir1/dir2/dir.php実行されたPHPのパスとファイル名
$_SERVER['PHP_SELF']/dir1/dir2/dir.phpリクエストされたパスとファイル名
XSSの危険性あり
$_SERVER['REQUEST_URI']/dir1/dir2/dir.php?test=aaaリクエストされた
パスとファイル名とクエリ
XSSの危険性あり__XXXX____FILE__\var\www\html\dir1\dir2\dir.php実行されたPHPのフルパス
__DIR__\var\www\html\dir1\dir2実行されたPHPのディレクトリ名
dirname(__FILE__)」 と同じ
__LINE__12実行されたPHPのファイル行番号dirname()dirname(__FILE__)\var\www\html\dir1\dir2実行されたPHPのディレクトリまでの
フルパス
dirname(__DIR__)\var\www\html\dir1「実行されたPHPのディレクトリ」
のディレクトリまでのフルパス
dirname($_SERVER['SCRIPT_NAME'])/dir1/dir2実行されたPHPのディレクトリのパス
dirname($_SERVER['REQUEST_URI'])/dir1/dir2リクエストされたPHPのパス
XSSの危険性ありbasename()basename(__FILE__)dir.php実行されたPHPのファイル名
basename(__DIR__)dir2「実行されたPHPのディレクトリ」
のディレクトリ名
basename($_SERVER['SCRIPT_NAME'])dir.php実行されたPHPのファイル名
basename($_SERVER['REQUEST_URI'])dir.php?test=aaaリクエストされたファイル名とクエリ
XSSの危険性あり
广告
将在 10 秒后关闭
bannerAds