问题标签 [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.
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 是个好主意吗?还是我应该选择其他解决方案?
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
部分。
php - PHP - 使用 pathinfo 变量使相对路径不起作用
我希望自己实现某种cms。我看到我可以捕获 Apache 环境变量,称为 PATH_INFO,因此我可以在我的网站上制作动态部分(就像 joomla 一样)。
例如:
目前我正在开发一个功能来找出请求的部分和文章,通过这样做:
这部分工作正常,我遇到的问题是我现在拥有的所有相对路径都被破坏了。有人可以解释一下为什么会发生这种情况,我能做些什么来解决它?(请不要告诉我我必须使用绝对路径......)
php - PHP:使用base64解码后如何正确使用pathinfo
使用 base64 解码图像后,我Array to string conversion
在 pathinfo 处收到错误。尝试将我的文件放入目录时发生错误。我需要维护图像的名称。
顺便说一句,我的图像文件来自 js DOM
数组结果
php - pathinfo() 安全性:是否可以伪造扩展名?
我目前得到管理员使用上传的文件的扩展名pathinfo($FILE["name"], PATHINFO_EXTENSION)
,验证它们是否与特定列表匹配。
今天我想知道:
- 有没有办法伪造扩展名,让恶意的人有机会上传脚本或其他内容,而不是例如.jpg 文件?
- 如果是这样,您如何防止这种情况发生,或者如何加强我的脚本以使其更加困难?
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 possible
REQUEST_METHOD`。
php - PHP取消链接没有扩展名的文件
我正在尝试取消链接目录中没有扩展名的文件。
我做了以下,但没有工作:
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 输入?
docker - Traefik(+Docker) 根目录和子文件夹分派的路径设置
通过在 Docker 和 Traefik 上进行反向代理,我想将同一主机上的多个路径分派到两个不同的后端服务器,例如:
如果规则只有 #2 和 #3,我可以在 docker-compose.yml 中这样做
但是,将根“/”添加到第一个 PathPrefix 似乎掩盖了 app2 上的 /user。以下不起作用,一切都转到 app1 后端。
规则“主机:”和“路径前缀”似乎用作“与”,但我想使用“或”(精确 /,或以 /post 开头)。我搜索并了解到,从版本 1.3.0 开始,可以根据pull request #1257通过添加服务名称制作多行来定向多个规则。
通过知道,我所做的就是这样,
现在它按要求工作,root 访问权限被分派到 app1/ 。
我的问题是,这是正确的方法吗?对我来说看起来不是这样,因为这个根和子文件夹调度应该是一个典型的用例。
php - Pathinfo 参数 1 错误 Laravel
我得到了这个例外
这是我获取数据的 xml 标记
这就是我在数据库中存储数据的方式
我在我的数据库的一个字段中将它序列化。
这是给我异常的代码部分:
请尽快回答。谢谢!