阻止 PHP 解析非 PHP 文件,例如 someFile.php.txt

2023-11-24

我刚刚安装了 phpdocumentor,但收到了奇怪的错误。我终于找到了问题所在。

Phpdocumentor 创建各种文件,例如 someFile.php.txt,其中包含 PHP 代码,但不打算进行解析。事实证明,我的服务器正在解析它们。我还测试了一个名为 someFile.txt 的文件名,但它没有被解析。

如何防止 PHP 服务器解析 someFile.php.txt 等文件?

我的服务器是 PHP 版本 5.4.20、Apache 2.2.15 和 CentOS 6.4。我的/etc/httpd/conf.d/php.conf文件如下:

#
# PHP is an HTML-embedded scripting language which attempts to make it
# easy for developers to write dynamically generated webpages.
#
<IfModule prefork.c>
  LoadModule php5_module modules/libphp5.so
</IfModule>
<IfModule worker.c>
  LoadModule php5_module modules/libphp5-zts.so
</IfModule>

#
# Cause the PHP interpreter to handle files with a .php extension.
#
AddHandler php5-script .php
AddType text/html .php

#
# Add index.php to the list of files that will be served as directory
# indexes.
#
DirectoryIndex index.php

#
# Uncomment the following line to allow PHP to pretty-print .phps
# files as PHP source code:
#
#AddType application/x-httpd-php-source .phps

事实证明,CentOS Apache 的默认设置实际上允许这样做,并且它是一个已知漏洞。为了修复它,您需要编辑 Apache 配置设置。您的 PHP 设置通常位于/etc/httpd/conf.d/php.conf。默认看起来像这样

AddHandler php5-script .php
AddType text/html .php

我们需要将其更改为

#AddHandler php5-script .php
<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>
AddType text/html .php

重新启动 Apache,这应该是解析任何具有扩展名的文件的结束.php

现在$非常重要,因为这是使用regex并在之内regex a $意思是“字符串结尾”。这意味着文件必须以.php(即没有.php.txt) 由 PHP 解析。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

阻止 PHP 解析非 PHP 文件,例如 someFile.php.txt 的相关文章

  • 在数据库中存储差异的最紧凑方式是什么?

    我想实现类似于维基媒体的修订历史的东西 最好使用的 PHP 函数 库 扩展 算法是什么 我希望差异尽可能紧凑 但我很高兴只能显示每个修订版与其同级修订版之间的差异 并且一次只能回滚一个修订版 在某些情况下 只有几个字符可能会发生变化 而在其
  • 运行 shell 命令并将输出发送到文件?

    我需要能够通过 php 脚本修改我的 openvpn 身份验证文件 我已将我的 http 用户设置为免通 sudoer 因为这台机器仅在我的家庭网络中可用 我目前有以下命令 echo shell exec sudo echo usernam
  • 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,了解使用 nea 的正确语法[重复]

    这个问题在这里已经有答案了 我收到这个错误 ERROR ERRORINSERT INTO new comp reg phno fullname address dept desc VALUES 您的 SQL 语法有错误 检查与您的 Mari
  • 将 php filter_var 与 mysql_real_escape_string 结合使用

    我想首先说 我意识到 PDO mysqli 是新标准 并且已被 SO 广泛覆盖 然而 在这种特殊情况下 我没有时间在启动客户端站点之前将所有查询转换为 PDO 以下内容已在网站上的大多数查询中使用 我可以补充一下 这不是我所使用的 user
  • 如何在xampp中启用zip.dll

    你好 我正在使用 Windows 版 xampp 我想运行 https github com johmue mysql workbench schema exporter 导出我的架构 我在 mysql 工作台中创建架构并保存它 当我运行程
  • Graph API / FQL 不返回页面的所有事件

    脸书页面 http facebook com getwellgabby events http facebook com getwellgabby events 目前有 8 个活动 我能看到他们 非管理员可以看到它们并可以加入它们 但是 当
  • 如何在 Laravel 5.3 中进行自定义身份验证

    我在 Laravel 5 3 自定义身份验证中遇到问题 希望在检查时使用我自己的函数或页面Auth check 它返回false 这是用户控制器 namespace App Http Controllers use App User use
  • 如何在 Symfony 和 Doctrine 中实现 ManyToMany 和 OneToMany?

    我发现该文档在解释实体之间关系的创建方面非常糟糕 因此 我必须向我的 StackExchangers 同胞寻求帮助 所以 我正在尝试构建以下案例 Case 1 A User属于一个或多个Group and a Group可以有很多Permi
  • 将 Php 数组编码为 json [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想对我的 php 数组进行编码 A
  • WooCommerce:检查商品是否已在购物车中

    我从中发现了这个很棒的片段website https joebuckle me quickie woocommerce check if item already in cart 以下是检查购物车中是否存在特定产品的函数 function
  • 找时间通过 PHP 执行 MySQL 查询

    我在互联网上看到过这个问题 here http www phpbuilder com board showthread php t 2100256 and here http answers yahoo com question index
  • 数组到命名变量

    我该如何服用 userarray 这是一个数组 我知道它包含 3 个值 并将它们放入 3 个单独的变量中 而不是循环遍历 那里隔着 commas 所以爆炸会在某个地方发生 Say userfield1 userfield2 userfiel
  • 使用 PHP 将文件上传到 MySql DB

    我希望用户通过我在后端使用 MySql 用 PHP 开发的 web 应用程序上传文件 我想将文件存储在数据库中 我在这样做时遇到了问题 此外 一旦文件存储在数据库中 我们如何下载它 并在 web 应用程序中正确显示它 文件类型和文件的其他属
  • PHP $_SERVER['REMOTE_HOST'] 返回 ::1 [重复]

    这个问题在这里已经有答案了 可能的重复 应该 ip SERVER REMOTE ADDR 在 mamp 本地主机上返回 1 https stackoverflow com questions 3699454 should ip server
  • laravel 正则表达式验证不起作用

    我刚刚开始使用 laravel 正在努力验证我的表单之一中的文本区域 文本区域用于用户简介 因此我只想允许使用字母 数字 空格和以下字符 这就是我所拥有的 validator Validator make Input all array b
  • 如何禁用在 Apache 中向目录名添加尾部斜杠的 301 重定向

    Apache 2 2 20 自动将所有指向目录且没有尾部斜杠的请求重定向到带有尾部斜杠的相同 URL 如下所示 GET some path to dir HTTP 1 1 Host www some org 301 Moved perman
  • 为什么 count 比 $count 差

    我只是在查看不同问题的答案以了解更多信息 我看到一个answer https stackoverflow com a 4891402 429850这表明在 php 中编写这样的做法是不好的做法 for i 0 i
  • MySQL LAST_INSERT_ID() 和 FOUND_ROWS()

    当 PHP 脚本每秒有数百个查询时会发生什么 它会影响这些函数吗 是否保证它们会返回当前脚本中最后一个插入语句中最后插入的 id 它会返回当前脚本中最后一次选择的行数吗 如果同时从另一个脚本进行新的插入或选择 在 FOUND ROWS 的情
  • IMAP 和 PHP - 从已发送文件夹和收件箱文件夹中获取所有电子邮件

    我正在尝试获取接收和发送的所有电子邮件 并使用 PHP 将其写入 mySQL 数据库 我使用的主机名是 hostname imap gmail com 993 imap ssl INBOX 它仅引用收件箱 并成功抓取收到的电子邮件 为了抓取
  • 使用 .htaccess 进行 PHP 设置时出现 500 内部服务器错误

    当我使用时 htaccess对于以下 PHP 设置 我得到500 Internal Server Error访问网站时 中的代码 htaccess file php flag display errors off php flag log

随机推荐

  • ChartJS 显示时间数据的差距

    我有这个图表 这是用 ChartJS 构建的 但是 在下午 1 点到 5 30 之间 没有数据 我想要图表做的就是显示没有数据 而不是连接两个点 这可以做到吗 理论上 我每 5 秒就有一个新值 但这可能会减少 所以我想我需要能够设置连接间隙
  • 如何在 sqlite.net PCL 中使用 InsertOrReplace?

    我正在使用这里的 sqlite net 的 PCL 版本 https github com oysteinkrog SQLite Net PCL 这是我的简单课程 public class LogEntry PrimaryKey AutoI
  • 非阻塞 API 是如何工作的?

    我一直在读Play 框架文档并发现这句话令人困惑 请注意 您可能会因此将阻塞代码包装在 期货 这并不意味着它是非阻塞的 它只是意味着 阻塞将发生在不同的线程中 你还需要做 确保您使用的线程池有足够的线程 处理阻塞 我的印象是所有这些非阻塞库
  • Swift 语言多播委托

    我正在尝试在 Swift 中实现多播委托功能 在 Objective C 中 我们有这个优秀的实现 https github com robbiehanson XMPPFramework blob master Utilities GCDM
  • 非托管内存未显示在任务管理器中

    我写了以下测试 实际上在更广泛的上下文中使用 IntPtr x Marshal AllocHGlobal 100000000 Console Write Press any key to continue Console ReadKey t
  • 关于配置首选项和js

    我想知道是否可以使用 javascript 获取 about config 中设置的某些首选项的值 动机是当用户登陆插件前端时获取我创建的 Firefox 插件中设置的首选项的值 基本上 我试图识别登陆 FE 的用户 而不要求他们明确登录
  • 如何通过 web.config 将 http 重定向到 https,将 www 重定向到非 www? [复制]

    这个问题在这里已经有答案了 我想使用 web config 将我的 ASP NET 站点上的所有请求重定向到 https 不含 www 那是 http http www https www 都应该去 https 到目前为止 我的 web c
  • 角度 - 垫子滑动切换不可见

    problem mat slide toggle 不可见 我正在尝试从下面的网址实现这个示例https material angular io components autocomplete examples 测试组件 html
  • 如何在客户端将自定义 ValidationAttribute 呈现为“da​​ta-val-xx”属性?

    给定一个如下所示的 ViewModel public class Login Required public string Username get set Required CustomValidator public string Pa
  • Angular 2滚动到底部(聊天风格)

    我有一组单细胞组件ng for loop 我已经一切就绪 但我似乎无法找出正确的 目前我有 setTimeout gt scrollToBottom 但这并不总是有效 因为图像异步地将视口向下推 在 Angular 2 中滚动到聊天窗口底部
  • 缩放存储在 S3 中的图像

    我面临的情况是 我需要将多个网站的图像存储推送到可以无限扩展的服务 S3 CloudFiles 等 到目前为止 我们已经能够允许用户在 Python 的图像库的帮助下动态生成自定义缩略图大小sorl 缩略图在姜戈 通过将我们的图像移动到 S
  • Backbone.js:过滤集合的正确方法?

    我当前使用的方法是过滤一个集合 它返回一个数组 然后使用 collection reset array 重新填充它 但是 这会修改原始集合 因此我添加了一个名为 originalCollectionArray 的数组 它跟踪集合的初始数组状
  • 为什么将 ArrayList 的泛型转换为超类不起作用?

    有人可以向我解释一下为什么标记该行吗 this line gives a compile error why 在下面的代码示例中不起作用 import java util ArrayList public class GenericCast
  • NLTK 正则表达式标记生成器在正则表达式中不能很好地处理小数点

    我正在尝试编写一个文本规范化器 需要处理的基本情况之一是像3 14 to three point one four or three point fourteen 我目前正在使用该模式 d d with nltk regexp tokeni
  • 查找两个字符串之间的相似度度量

    在Python中如何获得一个字符串与另一个字符串相似的概率 我想要得到一个十进制值 如 0 9 意味着 90 等 最好使用标准 Python 和库 e g similar Apple Appel would have a high prob
  • 使用 Ruby 将大文件上传到 S3 失败并出现内存不足错误,如何分块读取和上传?

    我们通过 Ruby AWS SDK v2 从 Windows 计算机将各种文件上传到 S3 我们已经使用 Ruby 1 9 进行了测试 我们的代码工作正常 除非遇到大文件 抛出内存不足错误 首先 我们使用以下代码将整个文件读入内存 body
  • 是否有用于双精度倒数平方根的快速 C 或 C++ 标准库函数?

    我发现自己打字 double foo 1 0 sqrt 很多 而且我听说现代处理器具有内置的反平方根操作码 是否有 C 或 C 标准库的反平方根函数 使用双精度浮点数 准确度为1 0 sqrt 与结果一样快或更快1 0 sqrt 不 不 没
  • 在经典 ASP 中对集合进行排序

    这是一个非常简单的问题 如何对集合进行排序 我有一个 CSV 文件 其中的行按随机顺序排列 我想根据一列中的日期对行进行排序 我是否将行添加到记录集中 我可以使用 Scripting Dictionary 进行排序吗 显然我已经被 NET
  • 字体大小的默认单位?

    网上的各种文本声称 pt 是默认的字体大小单位 当没有提供时 但是 我自己的测试似乎证明并非如此 我读过许多关于 W3C 的文档 涵盖 CSS 1 3 的字体大小 但我似乎无法在任何规范中找到对默认单位的实际引用 我在 Chrome 和 I
  • 阻止 PHP 解析非 PHP 文件,例如 someFile.php.txt

    我刚刚安装了 phpdocumentor 但收到了奇怪的错误 我终于找到了问题所在 Phpdocumentor 创建各种文件 例如 someFile php txt 其中包含 PHP 代码 但不打算进行解析 事实证明 我的服务器正在解析它们