【问题标题】:find all get parameters and current url [duplicate]查找所有获取参数和当前 url [重复]
【发布时间】:2023-03-17 20:50:02
【问题描述】:

如何使用 PHP 轻松找到当前 url 和该 URL 中的所有 GET 参数?我想跟踪哪些 GET 参数被传递到当前 url。如果有人可以给我 PHP 命令来执行此操作,那就太好了! 谢谢! 这是我的代码:

<?php

$filedir = './';

$filename = $_GET['file'];
//security check
if(strpos(realpath($filename), PATH_TO_VALID_MP3s) !== 0) { die('bad path!'); } 
$path = $filedir . $filename;

if (!is_file($path) OR connection_status() != 0)
{
    exit();
}

ob_end_clean();

header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Expires: '. gmdate('D, d M Y H:i:s', mktime(date('H')+2, date('i'), date('s'), date('m'), date('d'), date('Y'))).' GMT');
header('Last-Modified: '. gmdate('D, d M Y H:i:s').' GMT');
header('Content-Type: application/octet-stream');
header('Content-Length: '. @filesize($path));
header('Content-Disposition: attachment; filename="'. $filename .'"');
header('Content-Transfer-Encoding: binary');

if ($file = @fopen($path, 'rb'))
{
    while (!feof($file) AND connection_status() == 0)
{
    echo fread($file, 1024 * 8);
}

flush();
}

@fclose($file);
?>

【问题讨论】:

  • $passedGetParams = $_GET; ?
  • 顺便说一句,许多how to get current page url in php问题可能重复。

标签: php url get


【解决方案1】:

已经存在一个包含所有 GET 变量的全局变量。

$_GET

http://php.net/manual/en/reserved.variables.get.php

另一种选择是$_REQUEST 全局。

http://php.net/manual/en/reserved.variables.request.php

默认情况下包含 $_GET、$_POST 和 $_COOKIE 内容的关联数组。

【讨论】:

  • 那么我应该回声 $_GET 吗?
  • 我不知道你不想用它们做什么。您应该阅读 PHP 手册,了解如何将它们用于您所追求的解决方案。
  • 我只想查看参数并通过电子邮件发送
  • 在这种情况下使用$get = print_r($_GET, true)。它将返回 $_GET 的文本数组表示。
【解决方案2】:

$_SERVER$_GET 数组是你的朋友 ;)

【讨论】:

  • 进一步注意,$_SERVER 也将包含未解析的查询字符串。如果您对 GET 参数的顺序感兴趣,这可能会很有趣
  • 是的,我知道,但是人们访问 download.php?file=filename.mp3 会下载 filename.mp3....想确保他们找不到下载根目录文件的方法。这就是我问的原因
  • if(strpos(realpath($filename), PATH_TO_VALID_MP3s) !== 0) { die('bad path!'); }
  • 哦,看起来棒极了!!!!迫不及待想看看它的作用,请等一下!
  • 这应该放在页面的最顶部,对吗?
猜你喜欢
  • 2016-03-27
  • 2012-08-26
  • 2018-09-09
  • 2014-01-06
  • 2011-06-24
  • 2015-04-01
  • 2017-04-09
  • 2013-10-07
  • 1970-01-01
相关资源
最近更新 更多