Drupal专业开发指南 第20章 文件安全

在处理文件和文件路径时,Drupal面对的危险和其它web应用是一样的。

 
文件权限
文件权限应该这样设置,那就是用户不能操作(添加,重命名,或者删除)文件。Web服务器对于Drupal文件和目录,应该仅具有只读的权限。不过有个例外,那就是文件系统路径。很明显,web服务器必须对该目录具有访问权限,这样才能写入上传文件。
 
受保护文件
Drupal自带的.htaccess文件包含了以下代码:
 
# Protect files and directories from prying eyes.
<FilesMatch "\.(engine|inc|info|install|module|profile|po
|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(code-style\.pl
|Entries.*|Repository|Root|Tag|Template)$">
Order allow,deny
</FilesMatch>
 
Order指令设为了allow,deny,但是却没有包含Allow或者Deny指令。这意味着默认的行为是拒绝。换句话说,对表20-2所示文件的请求都会被拒绝访问。
 
20-2.根据FilesMatch指令的正则表达式所拒绝的文件
文件                 匹配描述
后缀 .engine         模板引擎
后缀.inc             库文件
后缀.info            模块和主题的.info文件
后缀.install         模块的.install文件
后缀.module          模块文件
后缀.profile         安装器
后缀.po              PO文件(翻译)
后缀.sh              Shell脚本
后缀.*sql            SQL脚本
后缀.theme           PHP主题
后缀.tpl.php         PHPTemplate模板文件
后缀.tpl.php4         PHPTemplate模板文件
后缀.tpl.php5         PHPTemplate模板文件
后缀.xtmpl            XTemplate文件
名为 code-style.pl    语法检查脚本
前缀为Entries.        CVS文件
名为Repository        CVS文件
名为Root              CVS文件
名为Tag               CVS文件
名为Template          CVS文件
 老葛的Drupal培训班 Think in Drupal

Drupal版本: