有33427人阅读过
获取访问php文件时的客户端信息及获取附带参数
发布于2025/01/03 更新于2025/01/03
[ 教程仅保证更新时有效,请自行测试。]
发布于2025/01/03 更新于2025/01/03
[ 教程仅保证更新时有效,请自行测试。]
[ 教程仅保证更新时有效,请自行测试。]
文件:
解压文件后,放在php可运行环境中,当访问此文件时,会记录访问信息,如下:
代码内容如下:
<?php
// 设置响应头,确保输出友好显示
header('Content-Type: text/plain; charset=utf-8');
// 定义日志文件路径
$logFile = 'request_log.txt';
// 获取请求的详细信息
$requestInfo = "=== Client Information ===\n";
$requestInfo .= "IP Address: " . $_SERVER['REMOTE_ADDR'] . "\n";
$requestInfo .= "Port: " . $_SERVER['REMOTE_PORT'] . "\n";
$requestInfo .= "User Agent: " . ($_SERVER['HTTP_USER_AGENT'] ?? 'N/A') . "\n";
$requestInfo .= "\n=== Request Information ===\n";
$requestInfo .= "Request Method: " . $_SERVER['REQUEST_METHOD'] . "\n";
$requestInfo .= "Request URI: " . $_SERVER['REQUEST_URI'] . "\n";
$requestInfo .= "Query String: " . ($_SERVER['QUERY_STRING'] ?? 'N/A') . "\n";
$requestInfo .= "\n=== Headers ===\n";
foreach (getallheaders() as $name => $value) {
$requestInfo .= "$name: $value\n";
}
$requestInfo .= "\n=== Server Information ===\n";
$requestInfo .= "Server Name: " . $_SERVER['SERVER_NAME'] . "\n";
$requestInfo .= "Server Software: " . $_SERVER['SERVER_SOFTWARE'] . "\n";
$requestInfo .= "Server Protocol: " . $_SERVER['SERVER_PROTOCOL'] . "\n";
$requestInfo .= "Server Port: " . $_SERVER['SERVER_PORT'] . "\n";
$requestInfo .= "Document Root: " . $_SERVER['DOCUMENT_ROOT'] . "\n";
$requestInfo .= "\n=== GET Parameters ===\n";
if (!empty($_GET)) {
foreach ($_GET as $key => $value) {
$requestInfo .= "$key: $value\n";
}
} else {
$requestInfo .= "No GET parameters.\n";
}
$requestInfo .= "\n=== POST Parameters ===\n";
if (!empty($_POST)) {
foreach ($_POST as $key => $value) {
$requestInfo .= "$key: $value\n";
}
} else {
$requestInfo .= "No POST parameters.\n";
}
$requestInfo .= "\n=== Uploaded Files ===\n";
if (!empty($_FILES)) {
foreach ($_FILES as $file => $details) {
$requestInfo .= "File: $file\n";
foreach ($details as $key => $value) {
$requestInfo .= " $key: $value\n";
}
}
} else {
$requestInfo .= "No files uploaded.\n";
}
// 将请求信息追加到日志文件
file_put_contents($logFile, $requestInfo . "\n", FILE_APPEND);
// 输出请求信息到浏览器
echo $requestInfo;
?>文章对你有帮助吗?
- 一般[0]

- 很赞[1]

- 没用[0]

- 垃圾[0]

- 无语[0]



