如何防止PHP文件被下载?有什么方法可以下载它们?

AAA*_*AAA 5 php security .htaccess

我如何防止php文件像浏览器一样"非法"下载.有什么方法可以用来下载php文件?

Lek*_*eyn 14

You can't really avoid files from being downloaded if your application is not secure. The following example allows a malicious user to view any file on your server:

<?php
readfile($_GET['file']);
?>
Run Code Online (Sandbox Code Playgroud)

If you want to prevent Apache from exposing the source code if something is wrong with PHP, add this in your httpd.conf/.htaccess:

# In case there is no PHP, deny access to php files (for safety)
<IfModule !php5_module>
    <FilesMatch "\.(php|phtml)$">
        Order allow,deny
        Deny from all
    </FilesMatch>
</IfModule>
# the following should be added if you want to parse .php and .phtml file as PHP
# .phps will add syntax highlighting to the file when requesting it with a browser
<IfModule php5_module>
    AddType text/html .php .phtml .phps
    AddHandler application/x-httpd-php .php .phtml
    AddHandler application/x-httpd-php-source .phps
</IfModule>
Run Code Online (Sandbox Code Playgroud)

  • @AAA放松一下.机会是没有问题的.配置为解析PHP文件的每个普通服务器都不会让人们下载PHP源代码. (2认同)

jwu*_*ler 9

Under normal circumstances, nobody is able to download PHP source code, since it is executed on the server. The webserver recognizes PHP scripts and passes them to PHP. The result is then passed back to the browser of the requesting user. The situation you described can only be achieved, if the webserver configuration is really messed up.