Results tagged “CMS Made Simple”

CMS Made Simple 安全技巧

上次说到自己使用建立的CMS Made Simple建立的一个站点被黑了,由于之前没有做好充足的应付这种事件的准备,用了近20个小时才恢复。通过这次事件,自己吸取了沉痛的教训,并且在CMS Made Simple建立的站点的安全性方面,也有了一定的了解;现通过自己的经验以及从CMS Made Simple论坛中学习到的一些东西,整理出几条CMS Made Simple安全技巧:

    1. 足够安全的用户名和密码

          说来好笑,仔细想来,自己站点被黑,密码过于简单其实是直接原因...... 请大家不要使用username:admin password: domainname 这样的密码,设置这样的密码与直接开放后台给公众是一样的。
          尽量不要把管理员的用户名称设置为Admin;六位数的密码被证实安全性已经不像原来那样高了,替换成八位数以上的吧。

    2. 在Config.php中更改Admin目录

          绝大多数由CMS Made Simple建立的网站,在其URL后面加上/admin都会出现未经修改过的CMS Made Simple Login画面,如果存在较严重的漏洞或者遇到好奇心极强的破坏者,岂不是相当于"Welcome to Hack into it!"。我们可以通过修改在config.php里面的

          #Name of the admin directory
          $config['admin_dir'] = 'admin';

          这一项,将admin换成你设想的富有想象力的组合吧,同时也不要忘了把admin/目录改成相应的名字。这样,你至少又给蓄意破坏者增加了一道障碍。

    3. 定期、及时备份数据库

          这一条看似多余但是绝对值得再三强调。天有不测风云,谁又能预知网站将要出什么问题呢?主机停机、非法入侵、文件丢失、数据库损坏、域名无法解析、GFW 都不是不可能发生的事,手头有份备份总要踏实许多。否则,就象曾经幼稚的我那样疯狂使用Google Cache吧......
          备份CMS Made Simple的网站还是非常方便的,只消备份该Installation中使用的那个数据表就可以了,模板、内容、模块设置等信息均包含在里面。CMS Made Simple可选装的模块里也有用于备份数据的模块,可以分别备份不同类型的数据。另外很多数据如模板、模块等也是可以导出成为XML文件的,总的来说, 备份并不麻烦。
          使用软件或后台备份数据库均可,我在使用mysqldumper,很好用,就是在加密上有一点点小问题。最后,不要忘了把数据在本地再备份一份。

    4. 及时将CMS Made Simple更新到最新的版本

          在写这篇文章的时候,CMS Made Simple的最新版本为1.1。在1.0.x的版本阶段,虽然不断有漏洞发现,但是开发团队都以极快的速度推出新版本以填补漏洞。之后的版本据称安全性 有了很大提升,建议大家都更新到最新版本。需要注意的是,在更新版本之前,请备份数据!因为很可能会有一些模块不兼容的问题导致一些功能不能正常工作。
           News模块不工作的情况较为常见,解决方法也很奇怪,在模块管理中将其卸载然后再装上,一次或反复几次就可解决问题。供遇到这样问题的朋友参考。

    5. 文件/目录权限777 or 775 or else 的争论

          在论坛上,有的人认为在安装时需要对
  • tmp/templates_c
  • tmp/cache
  • uploads
  • uploads/images
  • modules
          这几个目录设置777权限以安装提出了质疑。认为这可能带来潜在的安全隐患,并建议大家将其设置为775

          原帖 - Security impacts of chmod 777

          我认为最终kermit给出的答案还是比较合理的,即:安装程序的确需要这几个目录的权限为777,但是出于安全考虑,可将这些目录中的文件权限设置为666,并且把config.php的权限也设置成为666。
          虽然可能这个并不构成问题,但是权限问题的确可能会构成很大的隐患,不可小视。


以上给出了一些CMS Made Simple安全方面简单的一些技巧。文章的内容十分初级,毕竟我也只是个这方面的新手。但是我认为这些问题都不可小视,毕竟这些都是前车之鉴。如果您认为有需要补充或不对的地方,欢迎来信告诉我。


相关阅读:
优秀的轻量级内容管理系统: CMS Made Simple - 一篇关于CMS Made Simple的很好的介绍
《CMS Made Simple的几点技巧》 - 在使用CMS Made Simple架设站点的过程中,可以应用的一些技巧

CMS Made Simple的几点技巧

CMS Made Simple是一个简洁好用的CMS,tarsusa的新网站就是由它驱动的。具体的介绍大家可以参阅以下两篇文章:

优秀的轻量级内容管理系统: CMS Made Simple

简单的cms:cmsmadesimple

以下是我在使用 CMS Made Simple架设站点时,在
CMS Made Simple论坛上看到的一些我认为很实用的小技巧,做一下简单介绍。每一条后面都有相关的链接,供大家参考。


1、 CMS Made Simple Google Sitemaps Generator

为CMS Made Simple站点提供Google 网站管理员工具需要的Sitemaps
只需要把下载的gsitemaps.php复制到CMSMS安装的目录,然后在Google里提交指向gsitemaps.php的url即可

链接:CMSMS Forge - Google Sitemaps Generator


2、根据显示内容的不同定制模板显示

我们可以使用添加标志进行判断的方法,让模板可以根据不同的内容进行变化,以避免在模板库中出现一大堆只是有微小不同的模板

用途:比如网页的大版块和文章显示可以使用同一个模板,但在文章显示的页面上出现"收藏到"以及层次路径指示 (breadcrumbs)
          论坛原贴中举出的应用实例更多,欢迎参考

步骤:编辑需要模板有所变化的页面(这里的例子是显示具体文章的页面),在编辑页面的"选项"选项卡的"可变数据"(即metadata)里面,加入

{assign var='showbreadcrumbs' value='1'}

即定义一个名为showbreadcrumbs,值为1的变量

然后将"可缓存"前面的钩去掉

接着修改模板,加入相应的判断

{if isset($showbreadcrumbs)}
           {breadcrumbs}
<br />
{/if}

这样,所有显示文章的页面上,都有了breadcrumbs,而其它的页面不会受到影响。

这个技巧更多、更复杂的应用,请参考原帖
原文链接:Customizing your template based on the current page


3、一键保存到在线书签

国外的新闻网站常见的,文章底下有一排在线书签的小图标,点击即保存到相应的网站中

步骤:首先创建一个用户自定义标签,粘贴进相应代码(代码很长就不贴了,请参见原贴第一个代码框)
          然后修改需要显示这个的模板,加入这个用户自定义标签(例如如果你定义的是saveto_tools,就写上{saveto_tools})
          修改样式表,将原贴第二个代码框的内容粘贴为一个新的样式表并且绑定到你需要使用的模板上
          将原贴中的那些图标下载下来并且复制到你的网站上(注意要和上面一步样式表中的路径一致,可以自己修改)

这样就可以了。(这个目前还都是外国流行的那些服务,如果针对中文网站使用的话,把中文的那些常用服务修改下加进去比较好)

原贴链接:
News Article Tools (digg, delicious, stumbleupon...) User Defined Tag


4、提升站点速度之更改样式表

查看网站的源代码,找到类似
<link rel="stylesheet" type="text/css" href="http://www.yourdomain.com/stylesheet.php?templateid=23" />
<link rel="stylesheet" type="text/css" media="print" href="http://www.yourdomain.com/stylesheet.php?templateid=23&amp;mediatype=print" />
这样的行,然后把&amp;这个去掉,在浏览器中把这两个文件打开,并且另存为像yoursite-screen.css及yoursite-print.css这样的文件,上传到服务器

然后修改模板,把{stylesheet}字段修改为
<link rel="stylesheet" type="text/css" href="/uploads/yoursite-screen.css" />
<link rel="stylesheet" type="text/css" media="print" href="/uploads/yoursite-print.css" />
注意路径要一致,并且css文件中的图片路径也要一致(我改得很辛苦......)

这样,即把需要stylesheet.php调用的CSS替换成了静态文件,速度大大加快。一般来说,推荐给所有CSS设计已经定型,不需要改动了的网站。

原贴:
  Speed up your site.. lose {stylesheet}


另外,目前版本的CMS Made Simple还不支持多语言站点功能,虽然程序不支持,可是用户们还是实验出了很多的解决方案。比如出现了修改的多语言版
CMS Made Simple Multilingual
这篇帖子 My trick for multilingual pages with regular CMS v1.0.6 提供了一个使用原版程序实现多语言网站的参考,我还没有实验(和上面的第2条技巧实现方法类似),有这个需要的朋友可以试试。

把论坛上的一些小东西简单翻译了一下,感觉CMS Made Simple的中文资料少得可怜(程序的中文化却相当好),贴上这些东西补充一下吧。

这些技巧都不复杂,也都经过我的实验,CMS Made Simple的玩家们可以试试。
1