Php 这条规则是否足以防止安全漏洞?
我遇到了一个问题,Web服务器上的文件是用命令行编辑器在本地编辑的 编辑器创建了一个后缀为Php 这条规则是否足以防止安全漏洞?,php,security,apache,mod-rewrite,Php,Security,Apache,Mod Rewrite,我遇到了一个问题,Web服务器上的文件是用命令行编辑器在本地编辑的 编辑器创建了一个后缀为~字符的备份文件 因此有一个名为file.php ~ 该文件可以通过Web服务器直接下载,因为它不是作为php文件处理的 我想到了这样一个指令: <Files ~ "~$"> Order allow,deny Deny from all </Files> 命令允许,拒绝 全盘否定 因此,每个以~结尾的文件都被拒绝传递 这是一个好方法吗,我错过了什么吗?这应该可以充分解决它;然而
~
字符的备份文件
因此有一个名为file.php ~
该文件可以通过Web服务器直接下载,因为它不是作为php文件处理的
我想到了这样一个指令:
<Files ~ "~$">
Order allow,deny
Deny from all
</Files>
命令允许,拒绝
全盘否定
因此,每个以~
结尾的文件都被拒绝传递
这是一个好方法吗,我错过了什么吗?这应该可以充分解决它;然而,更大的问题是直接在服务器上进行编辑,这时您应该使用源代码管理(如svn、git),然后从源代码管理进行部署。如果另一个编辑器使用
.bak
?如何阻止他们将~更改为其他字符?更好的解决方案是告诉编辑器不要创建备份文件,和/或只是在文档根目录之外的某个地方编辑该文件。为什么不只允许执行.php文件,而只允许执行.css/.png/.js。。。。等文件,而不是仅仅避免这一种情况?我认为这是一件好事,即使你没有这个问题。我完全同意这一点。然而,很难控制人为错误;)在本例中,它是一个未版本化的文件(本地配置,包括数据库访问数据)。凭证被更改了,这是在本地编辑凭证的原因。凭证文件实际上不应该在web根目录中,但我意识到很多php应用程序都会这样做。