.htaccess 和 AddHandler php5-script .php 行有什么作用?

发布于 2024-12-11 10:37:46 字数 143 浏览 0 评论 0原文

我使用新的网络托管服务商。我创建的每个域的 public_html 文件夹都是使用 .htaccess 自动生成的,其中包含以下行:

AddHandler php5-script .php

这是做什么的?

I am with new web host. The public_html folder of each domain I create is auto generated with an .htaccess that has the following line:

AddHandler php5-script .php

What is this for?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

尽揽少女心 2024-12-18 10:37:46

这只是指示 PHP 通过将文件传递给 PHP5 解释器来处理以 .php 结尾的文件。如果没有此配置,Web 服务器可能会将文件作为原始 PHP 代码提供给最终用户的 Web 浏览器,而不是执行该代码。这增加了暴露数据库登录凭据或其他秘密的危险可能性。

使用相同的机制,您可以配置 Web 服务器将除 .php 之外的其他扩展名的文件解析为 PHP 脚本,并将它们交给 PHP 解释器。例如,有时会通过使用 .html 扩展名来命名 PHP 脚本来掩盖 PHP 脚本。

# Interpret both .php & .html as PHP:
AddHandler php5-script .php .html

This just instructs PHP to handle files ending in .php by passing them to the PHP5 interpreter. Without this configuration in place, the web server may serve the files to the end-user's web browser as raw PHP code, rather than executing the code. That raises the dangerous possibility of exposing database login credentials or, or other secrets.

Using the same mechanism, you could configure the web server to parse files with other extensions besides .php as PHP scripts and hand them to the PHP interpreter. This is occasionally done to mask PHP scripts by naming them with .html extensions, for example.

# Interpret both .php & .html as PHP:
AddHandler php5-script .php .html
咆哮 2024-12-18 10:37:46

它告诉 php 处理文件名中带有 .php 的任何文件即使它不在末尾。名为 smile.php.gif 的文件将被解释为 php 文件,如果您要使用上传脚本,这会很糟糕。这是因为 Apache 允许以任意顺序排列多个扩展名,因此 gif.php.jpg 与 gif.jpg.php 相同。我听说选择处理程序的最佳方法是使用 FilesMatch。当然,如果您的网络主机的 httpd.conf 中有此内容,并且您无权访问 httpd.conf,则必须在使用 FilesMatch 之前使用 htaccess 将其“删除”。

It tells php to handle any file with .php in the filename, even if it's not at the end. A file named smile.php.gif will be interpereted as a php file, which is bad if you are going to be using an upload script. This is because Apache allows multiple extensions in any order, so gif.php.jpg is the same as gif.jpg.php. I have heard the best way to select the handler is with FilesMatch. Of course if your web host has this in their httpd.conf you would have to 'remove' it using your htaccess before using the FilesMatch if you don't have access to httpd.conf.

怀念你的温柔 2024-12-18 10:37:46

答案是 htaccess 告诉网络服务器将 php 处理为 php5-script 并执行它。

关于第一个答案,您将实现您的目标,但这是一个非常糟糕的做法,并且由于巨大的安全性,您不应该允许 html 文件作为 php 执行担忧。

The answer is that the htaccess tells the webserver to handle the php as php5-script and execute it.

Regarding the first answer, you will achieve your goal but it is a really bad practice and you should not allow html files to be executed as php due to huge security concerns.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文