我们一直强调,设置服务器上的文件权限是很重要的,能够保护我们的站点。如一些目录/uploads/, /upgrade/, 和 /backups/就需要设置可写权限,但是这会带来安全隐患。

现在矛盾出来了,一方面需要严格的限制权限,另一方面权限一旦严格,又会现在很多功能。例如媒体上传功能可能会停止工作。

怎么办?

现在通过一些办法可以鱼和熊掌兼得,即可控制权限又可不限制功能。

这就是使用.htaccess 文件。

在我的实践中,/uploads/ 可谓重中之重。不幸的是有的服务器需要 777 的权限才能让这个媒体功能正常工作。那么我们的问题就是在这个 777 的权限下加强安全,为此我们需要安装下面的步骤做:

首先创建一个.htaccess 文件,并把这个文件上传到/uploads/目录下,把下面的代码放到.htaccess 文件内:

# secure uploads directory
<Files ~ ".*..*">
 Order Allow,Deny
 Deny from all
</Files>
<FilesMatch ".(jpg|jpeg|jpe|gif|png|tif|tiff)$">
 Order Deny,Allow
 Allow from all
</FilesMatch>

开始我们否定了所有文件的访问,然后指定了一些文件类型。如 (jpg|jpeg|jpe|gif|png|tif|tiff|zip|mp3|mov) 等,那些是文件扩展名。