将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の危険性あり