相关疑难解决方法(0)

使用.htaccess禁用目录(包括所有子目录)中的PHP

我正在建立一个允许人们上传文件,html页面等的网站......现在我遇到了问题.我有这样的目录结构:

-/USERS
    -/DEMO1
    -/DEMO2
    -/DEMO3
    -/etc... (every user has his own direcory here)
-index.php
-control_panel.php
-.htaccess
Run Code Online (Sandbox Code Playgroud)

现在我想禁用PHP,但在/ USERS内的direcories和子目录中启用服务器端包含

可以这样做(以及如何:))?提前致谢.

顺便说一下,我使用的是WAMP服务器

php apache .htaccess

63
推荐指数
6
解决办法
12万
查看次数

使用.htaccess禁用目录的所有CGI(php,perl,...)

我有一个用户可以上传文件的目录.

为了避免安全问题(例如有人上传恶意php脚本),我目前通过附加.data来更改文件的扩展名,但是在下载文件时,他们必须手动删除.data.

另一个常见的解决方案是将文件上传到Apache不提供的目录中,并使用php脚本通过调用来管理所有下载readfile().

我想做的是简单地禁止在upload文件夹中执行任何脚本(php,perl,cgi脚本,以及我将来可能安装的任何脚本).这个SO答案建议.htaccess在该文件夹的文件中添加以下行:

SetHandler default-handler
Run Code Online (Sandbox Code Playgroud)

但是,在我的情况下,这没有任何效果(我放在该文件夹中的示例php脚本仍然执行).我究竟做错了什么?

Apache配置

这台机器是运行的VPS(虚拟专用服务器)Debian GNU/Linux 6.0.7 (squeeze),据我所知(我记下我在该服务器上运行的所有命令,因此我的"内存"应该非常准确),我不会改变apache2中的任何内容配置,运行appart sudo apt-get install php5,以及/etc/apache2/sites-enabled/mysite.com使用以下内容创建文件:

<VirtualHost *:80>
  ServerAdmin webmaster@localhost
  ServerName  mysite.com
  ServerAlias www.mysite.com

  DocumentRoot /home/me/www/mysite.com/www/
  <Directory />
    Options FollowSymLinks
    AllowOverride All 
  </Directory>
  <Directory /home/me/www/mysite.com/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All 
    Order allow,deny
    allow from All
  </Directory>

  ErrorLog ${APACHE_LOG_DIR}/error.log

  # Possible values include: debug, info, notice, warn, error, crit,
  # alert, emerg. …
Run Code Online (Sandbox Code Playgroud)

apache security .htaccess

18
推荐指数
1
解决办法
3万
查看次数

标签 统计

.htaccess ×2

apache ×2

php ×1

security ×1