我们一直强调,设置服务器上的文件权限是很重要的,能够保护我们的站点。如一些目录/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) 等,那些是文件扩展名。