Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用.htaccess禁用子目录php/access_Php_.htaccess_Security - Fatal编程技术网

使用.htaccess禁用子目录php/access

使用.htaccess禁用子目录php/access,php,.htaccess,security,Php,.htaccess,Security,我正在制作一个网站,人们可以在其中上传文件到特定的子目录。如果有人能够绕过过滤器上传潜在的恶意(可能是php)文件,我想知道是否有可能使恶意代码无法访问。我正在研究两种不同的方法 第一个是查看是否有办法通过在浏览器(www.example.com/images/blahblah.jpg)中键入文件url来访问子目录中的任何文件,但通过 第二种方法是使用.htaccess文件禁用子目录中的php。我已尝试关闭php\u admin\u标志引擎 php_标志引擎关闭 RemoveHandler.ph

我正在制作一个网站,人们可以在其中上传文件到特定的子目录。如果有人能够绕过过滤器上传潜在的恶意(可能是php)文件,我想知道是否有可能使恶意代码无法访问。我正在研究两种不同的方法

第一个是查看是否有办法通过在浏览器(www.example.com/images/blahblah.jpg)中键入文件url来访问子目录中的任何文件,但通过

第二种方法是使用.htaccess文件禁用子目录中的php。我已尝试关闭php\u admin\u标志引擎

php_标志引擎关闭

RemoveHandler.php
RemoveType.php
php_标志引擎关闭
选项-执行CGI


但是每次尝试要么什么也不做,要么禁用目录中的所有内容。有没有一个原因,这些都不起作用?禁用php或使用.htaccess保护目录的最佳方法是什么?

您可以将上载文件的元数据保存在数据库中,并将内容存储在自定义扩展名文本文件中。例如,上传的所有内容都可以存储为1.ext或file.my或根本没有扩展名。当文件被请求时,您只需读取并转储其内容。添加到这将重命名所有上传的文件

您还可以将原始文件保留在文档根目录(及其子目录)之外,并在.htaccess的帮助下将所有请求转发到单个文件。让我们调用entry.php,然后该php文件将简单地读取文件并转储其内容,如果找不到或类型不允许,则发出404


希望有帮助。

为什么不保护您的上传系统,使其不允许上传不在白名单中的文件?如果他们上传.pl或.py呢?另外,您不能限制对直接URL的访问,同时仍然允许SRC访问该URL,服务器无法轻松知道哪个是哪个。我通过按文件扩展名和类型筛选文件来保护我的上载系统,但由于我对保护网站的安全相对较新,我尝试尽可能谨慎。还有其他方法来保护上传系统吗?发布上传代码,PHP专家将有机会对其进行同行评审=o)