将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。
変数名例説明
XSSの危険性あり
記述されているSERVER_NAME
XSSの危険性あり
パスとファイル名とクエリ
XSSの危険性あり
「
フルパス
のディレクトリまでのフルパス
XSSの危険性あり
のディレクトリ名
XSSの危険性あり
$_SERVER$_SERVER['HTTP_HOST']example.localhostリクエストヘッダに含まれるHOSTXSSの危険性あり
$_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の危険性あり