问题标签 [pathinfo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
10750 浏览

php - cgi.fix_pathinfo = 0 有什么问题?

我正在尝试设置nginx处理php请求。这个链接说:

本指南在 php.ini cgi.fix_pathinfo = 1(默认值)上运行良好。一些指南坚持将其更改为 cgi.fix_pathinfo = 0 但这样做会使 PHP_SELF 变量损坏(不等于 DOCUMENT_URI)。

但是,这个并没有发出这样的警告:

在 php.ini 中设置 cgi.fix_pathinfo=0。这会导致 PHP 解释器仅尝试给定的文字路径,并在未找到文件时停止处理。

php文档来看:

将此设置为 1 将导致 PHP CGI 修复其路径以符合规范。设置为零会导致 PHP 像以前一样运行。默认情况下它是打开的。您应该修复您的脚本以使用 SCRIPT_FILENAME 而不是 PATH_TRANSLATED。

最好坚持使用默认值。

那么,首先如何重现损坏的PHP_SELF变量?那么,到底是哪一个?设置cgi.fix_pathinfo为 0 是个好主意吗?还是我应该选择其他解决方案?

0 投票
1 回答
1764 浏览

php - Symfony2 明确获取 URL 的路径信息

说,我有一个 URL http://server/mysite/web/app_dev.php/resource/1。我正在做一个GET请求,相应的操作是ResourceController::getAction.

在这个控制器动作中,如果我打电话$request->getPathInfo(),它会给我/resource/1

但是在同一个控制器中,如果我使用另一个资源的 url 创建一个 Request 对象并调用getPathInfo()它会返回一个更长的版本。

只有在这种情况下才能getPathInfo()退货?/another_resource/1

或者

任何人都可以建议在 Symfony2 中将端点 URL 转换为最安全的方法是什么http://server/mysite/web/app_dev.php/another_resource/1/another_resource/1

如果你有兴趣知道我为什么需要这个

控制器操作正在接收请求内容中的一些 URL。该操作需要解析这些 URL 以识别相应的资源。我正在尝试使用$router->match函数从 URL 中检索参数。match 函数只需要/another_resource/1部分。

0 投票
1 回答
198 浏览

php - PHP - 使用 pathinfo 变量使相对路径不起作用

我希望自己实现某种cms。我看到我可以捕获 Apache 环境变量,称为 PATH_INFO,因此我可以在我的网站上制作动态部分(就像 joomla 一样)。

例如:

目前我正在开发一个功能来找出请求的部分和文章,通过这样做:

这部分工作正常,我遇到的问题是我现在拥有的所有相对路径都被破坏了。有人可以解释一下为什么会发生这种情况,我能做些什么来解决它?(请不要告诉我我必须使用绝对路径......)

0 投票
1 回答
399 浏览

php - PHP:使用base64解码后如何正确使用pathinfo

使用 base64 解码图像后,我Array to string conversion在 pathinfo 处收到错误。尝试将我的文件放入目录时发生错误。我需要维护图像的名称。

顺便说一句,我的图像文件来自 js DOM

数组结果

0 投票
0 回答
314 浏览

php - pathinfo() 安全性:是否可以伪造扩展名?

我目前得到管理员使用上传的文件的扩展名pathinfo($FILE["name"], PATHINFO_EXTENSION),验证它们是否与特定列表匹配。

今天我想知道:

  • 有没有办法伪造扩展名,让恶意的人有机会上传脚本或其他内容,而不是例如.jpg 文件?
  • 如果是这样,您如何防止这种情况发生,或者如何加强我的脚本以使其更加困难?
0 投票
1 回答
603 浏览

php - Rest API:首先做什么,区分 REQUEST_METHOD 或 PATH_INFO?

我在做一个小的REST API,写在PHP.
是否有最佳实践来决定脚本应该做什么?
我是先检查请求是GET, POST,PUT还是DELETE先检查PATH_INFO.
示例首先检查PATH_INFO

示例首先检查 REQUEST_METHOD:

先感谢您!

此外,API will be very limited. Mostly a path will have only one possibleREQUEST_METHOD`。

0 投票
2 回答
283 浏览

php - PHP取消链接没有扩展名的文件

我正在尝试取消链接目录中没有扩展名的文件。

我做了以下,但没有工作:

0 投票
1 回答
3104 浏览

php - 带有多字节 UTF-8 文件名的 PHP basename() 和 pathinfo()

我发现 PHP 函数 basename() 以及 pathinfo() 对多字节 utf-8 名称有一个奇怪的行为。他们删除所有非拉丁字符,直到第一个拉丁字符或标点符号。但是,在此之后,会保留后续的非拉丁字符。

但奇怪的是 pathinfo() 的目录名部分工作正常:

PHP 文档警告说basename()pathinfo()函数可以识别语言环境,但这并不能证明pathinfo(..., PATHINFO_BASENAME)and之间的不一致是合理的pathinfo(..., PATHINFO_DIRNAME),更不用说相同的非拉丁字符被丢弃或接受的事实,具体取决于它们相对于拉丁文的位置人物。

这听起来像一个PHP错误。

由于“basename”检查对于避免directoy 遍历的安全问题非常重要,是否有任何可靠的basename 过滤器可以很好地处理unicode 输入?

0 投票
1 回答
4014 浏览

docker - Traefik(+Docker) 根目录和子文件夹分派的路径设置

通过在 Docker 和 Traefik 上进行反向代理,我想将同一主机上的多个路径分派到两个不同的后端服务器,例如:

如果规则只有 #2 和 #3,我可以在 docker-compose.yml 中这样做

但是,将根“/”添加到第一个 PathPrefix 似乎掩盖了 app2 上的 /user。以下不起作用,一切都转到 app1 后端。

规则“主机:”和“路径前缀”似乎用作“与”,但我想使用“或”(精确 /,或以 /post 开头)。我搜索并了解到,从版本 1.3.0 开始,可以根据pull request #1257通过添加服务名称制作多行来定向多个规则。

通过知道,我所做的就是这样,

现在它按要求工作,root 访问权限被分派到 app1/ 。

我的问题是,这是正确的方法吗?对我来说看起来不是这样,因为这个根和子文件夹调度应该是一个典型的用例。

0 投票
0 回答
636 浏览

php - Pathinfo 参数 1 错误 Laravel

我得到了这个例外

这是我获取数据的 xml 标记

这就是我在数据库中存储数据的方式

我在我的数据库的一个字段中将它序列化。

这是给我异常的代码部分:

请尽快回答。谢谢!