如何在Web服务器上以纯文本形式发布php文件
我想在我的Web服务器上发布一个项目的所有源代码,但是我有一个问题。所有的源代码都是php,当我发布它时,服务器会尝试执行它如何在Web服务器上以纯文本形式发布php文件,php,Php,我想在我的Web服务器上发布一个项目的所有源代码,但是我有一个问题。所有的源代码都是php,当我发布它时,服务器会尝试执行它 为了避免这种情况,我将文件扩展名改为.html,但是这不起作用。当我发布java文件时,它们只是以纯文本形式显示。我是否可以发布这样的php文件?将扩展名更改为.txt?如果您使用apache,您可以在源目录中添加一个.htaccess文件,其中包含: AddType text/plain.php 或者,如果您的服务器设置了.phps扩展名,您也可以尝试使用该扩展名。如果
为了避免这种情况,我将文件扩展名改为.html,但是这不起作用。当我发布java文件时,它们只是以纯文本形式显示。我是否可以发布这样的php文件?将扩展名更改为.txt?如果您使用apache,您可以在源目录中添加一个.htaccess文件,其中包含:
AddType text/plain.php
或者,如果您的服务器设置了
.phps
扩展名,您也可以尝试使用该扩展名。如果您使用的是Apache和mod_php,则在httpd.conf文件中应该有一行内容如下:
AddType application/x-httpd-php .php5 .php4 .php
确保.html不在此列表中。使用.htaccess指令。取消设置php处理程序并将.htaccess放入希望php脚本拒绝执行的目录中一些服务器支持
.phps
(php源代码)扩展,甚至可以为您进行源代码高亮显示
您可能必须在.htaccess文件中执行一个
AddType应用程序/x-httpd-php-source.phps
,才能使其正常工作。如果您的服务器不支持.phps
扩展名,您可以自己运行
在.htaccess中:
AddType application/x-httpd-php-source .phps
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} \.phps$
RewriteRule ^(.*)s$ source.php?file=$1
</IfModule>
您应该通过代码格式化程序运行源代码,生成漂亮的HTML文件,并将其作为单独的HTML文档发布。您使用的是什么web服务器/操作系统?同意,开箱即用的Apache通常以这种方式配置,可能是最佳选择(out of.txt或其他扩展名)。这是一个检查的好主意,因为有一些应用程序喜欢隐藏其对PHP的使用(通过使用HTML扩展)
// Basic filename sanitization
$file = './' . preg_replace("/[^a-zA-Z0-9\/\.-_]/", '', $_GET['file']);
if (file_exists($file)) {
highlight_file($file);
}