6
回答
在apache的.htaccess里的访问设置问题
华为云4核8G,高性能云服务器,免费试用   

帮一个朋友处理一个小网站,用的apache+php,买的虚拟主机。

程序用的是dede,经常会被挂马之类,弄的不胜其烦。我在考虑是不是可以把一些文件和目录屏蔽掉?

比如data缓存和uploads还有包括includes等等这些目录屏蔽掉.php的执行等其他权限。。

现在虚拟主机可以支持.htaccess,问一下用这个配置访问的话应该是怎么个规则?

或者有这方面的资料也可以说一下,自己google了一下发现有点不得要领。

多谢

举报
共有6个答案 最后回答: 5年前
比如upload目录禁止PHP脚本解析和禁止外部访问PHP脚本,在该目录下.htaccess加入:
php_flag engine off
<Files ~ "\.php$">
order allow,deny
deny from all
</Files>
--- 共有 2 条评论 ---
eechen回复 @Tuesday : 只是禁止访问这个目录里的PHP文件,其他格式文件正常访问. 5年前 回复
Tuesday图片怎么办? 5年前 回复

引用来自“eechen”的答案

比如upload目录禁止PHP脚本解析和禁止外部访问PHP脚本,在该目录下.htaccess加入:
php_flag engine off
<Files ~ "\.php$">
order allow,deny
deny from all
</Files>
多谢指点,问一下为什么要先声明php_flag engine off呢?

引用来自“透过玻璃的光”的答案

引用来自“eechen”的答案

比如upload目录禁止PHP脚本解析和禁止外部访问PHP脚本,在该目录下.htaccess加入:
php_flag engine off
<Files ~ "\.php$">
order allow,deny
deny from all
</Files>
多谢指点,问一下为什么要先声明php_flag engine off呢?
php_flag engine off 是禁止解析该目录下的php文件.
下面这句是禁止访问该目录下后缀名为php的文件:
<Files ~ "\.php$"> 
order allow,deny 
deny from all 
</Files> 

有些主机对于php5这样后缀的文件也作为php解析,所以安全起见,禁止解析是有必要的.

引用来自“eechen”的答案

引用来自“透过玻璃的光”的答案

引用来自“eechen”的答案

比如upload目录禁止PHP脚本解析和禁止外部访问PHP脚本,在该目录下.htaccess加入:
php_flag engine off
<Files ~ "\.php$">
order allow,deny
deny from all
</Files>
多谢指点,问一下为什么要先声明php_flag engine off呢?
php_flag engine off 是禁止解析该目录下的php文件.
下面这句是禁止访问该目录下后缀名为php的文件:
<Files ~ "\.php$"> 
order allow,deny 
deny from all 
</Files> 

有些主机对于php5这样后缀的文件也作为php解析,所以安全起见,禁止解析是有必要的.

非常感谢。

再问一下,如果我想比如只允许index.php执行,其他都不允许,应该怎么去写规则呢?

引用来自“透过玻璃的光”的答案

引用来自“eechen”的答案

引用来自“透过玻璃的光”的答案

引用来自“eechen”的答案

比如upload目录禁止PHP脚本解析和禁止外部访问PHP脚本,在该目录下.htaccess加入:
php_flag engine off
<Files ~ "\.php$">
order allow,deny
deny from all
</Files>
多谢指点,问一下为什么要先声明php_flag engine off呢?
php_flag engine off 是禁止解析该目录下的php文件.
下面这句是禁止访问该目录下后缀名为php的文件:
<Files ~ "\.php$"> 
order allow,deny 
deny from all 
</Files> 

有些主机对于php5这样后缀的文件也作为php解析,所以安全起见,禁止解析是有必要的.

非常感谢。

再问一下,如果我想比如只允许index.php执行,其他都不允许,应该怎么去写规则呢?

只允许访问当前目录index.php,不允许访问其他php后缀文件,可以试试:
<Files index.php>
order allow,deny
allow from all
</Files>

<Files ~ "\.php$">  
order allow,deny  
deny from all  
</Files> 


--- 共有 2 条评论 ---
透过玻璃的光回复 @苏生不惑 : 可以用正则方式的。 <Files ~ "\.(js|css|jpg|gif)$"> Order allow,deny Allow from all </Files> 5年前 回复
苏生不惑试了下,不可行,咋办 5年前 回复

引用来自“eechen”的答案

引用来自“透过玻璃的光”的答案

引用来自“eechen”的答案

引用来自“透过玻璃的光”的答案

引用来自“eechen”的答案

比如upload目录禁止PHP脚本解析和禁止外部访问PHP脚本,在该目录下.htaccess加入:
php_flag engine off
<Files ~ "\.php$">
order allow,deny
deny from all
</Files>
多谢指点,问一下为什么要先声明php_flag engine off呢?
php_flag engine off 是禁止解析该目录下的php文件.
下面这句是禁止访问该目录下后缀名为php的文件:
<Files ~ "\.php$"> 
order allow,deny 
deny from all 
</Files> 

有些主机对于php5这样后缀的文件也作为php解析,所以安全起见,禁止解析是有必要的.

非常感谢。

再问一下,如果我想比如只允许index.php执行,其他都不允许,应该怎么去写规则呢?

只允许访问当前目录index.php,不允许访问其他php后缀文件,可以试试:
<Files index.php>
order allow,deny
allow from all
</Files>

<Files ~ "\.php$">  
order allow,deny  
deny from all  
</Files> 


嗯嗯,,多谢多谢,已经解决了。
顶部