有25人阅读过
获取访问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]