当你上线了一个Drupal站点时,你有没有发现有些黑客能够盗取你的.module文件,你的服务器并不安全。你编写的代码很有可能会被人轻易的盗走。在Apache下面,这种情况不会发生,但是有些服务器下面,如果你不进行配置,有些人会根据一些线索下载你的模块的。
我就曾经把国内一个比较出名的Drupal网站的模块,一个一个的下载了下来,并读了他们的源代码。我从来没有敢把这件事告诉别人,很多人拿那个Drupal网站,问我能不能实现同样的功能,其实那个网站的源代码我都下载过,而且读过一遍。
以前我的网站zhupou.cn放在了apache上,后来搬到了lonlife提供的服务器上,这个服务器不是apache,而是nginx,我就遇到了同样的问题,我能够根据路径下载我的模块,刚开始还行,上面没有放置很多东西。现在有些模块,有些功能我打算卖钱了。这样就有了安全的考虑了。
Nginx下控制Drupal站点的访问权限,其实很简单,配置一下就可以了。需要配置一个地方nginx.conf,添加以下内容:
# hide protected files
location ~* \.(engine|inc|info|install|module|profile|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(code-style\.pl|Entries.*|Repository|Root|Tag|Template)$ {
deny all;
}
这样黑客就不会下载你的模块资源了。