570
文章
·
29467
阅读
570
文章
·
29467
阅读

有25人阅读过 获取访问php文件时的客户端信息及获取附带参数
发布于2025/01/03 更新于2025/01/03
[ 教程仅保证更新时有效,请自行测试。]

文件:

getdata.rar

解压文件后,放在php可运行环境中,当访问此文件时,会记录访问信息,如下:

image.png

代码内容如下:

<?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]
扫一扫,手机浏览手机访问本站