在这里我将告诉大家一些paperenblog不足与可能对大家有帮助的地方

首先,很重要的一点就是paperenblog是基于codeigniter框架的,所以它必须继承CI的优缺点,同时它也是遵从CI自身规范的,还有我使用了hex提供的HMVC扩展方案 https://github.com/CodeIgniter/HMVC

关闭调试模式

想去掉调试信息的话,可以修改根目录下的index.php的21行

将常量ENVIRONMENT改为不是development就行了,其实这个常量也是CI里面定义的,我也是顺着CI去的而已,关于环境这个常量你继续往下看就会看到,CI定义的有三种:development、testing、production,而只有是development时我才会将调试信息展示。

关于安全

大部分安全措施都已经由CI帮我们完成,包括注入攻击与XSS。针对代码上的攻击我希望paperenblog已经做得很好,但是不代表绝对的安全。

而这里还要提及一点提高站点安全的方法

  • 根据自己的需要修改application/config/config.php的配置,这个文件其实是CI默认的站点配置文件,里面大部分配置项都有注释说明 Encryption Key 建议修改这个配置 Session部分的配置 sess_cookie_name与sess_expiration都可以根据自己进行配置

  • 将管理员账户与编辑账户分离,就是单独一个管理员账户,不要既是管理员又是编辑,同时要将管理员帐号与密码设得个性化一点

关于主题

所有主题都会放在theme目录中,要切换主题需要在后台站点配置中修改主题,默认就是paperen,如果你theme目录下有另外一个主题目录叫test,你想套用这个主题那么你就需要将paperen改为test,当然制作主题的话你可能要重新修改一些页面元素(视图)

所有模块

使用了HMVC的概念来设计,所有所有模块都会在application/modules目录中,每个模块都有controllers(控制器)与views(视图),而我为每个模块只定义了一个控制器并统一叫common.php

同时修改application/config/routes.php实现将请求传输到不同的模块进行处理

  • about——关于模块
  • admin——后台模块
  • category——文章类别管理模块
  • config——配置管理模块
  • file——附件管理模块
  • footer——底部模块
  • header——顶部模块
  • link——友链管理模块
  • login——登陆模块
  • post——文章管理模块
  • sidebar——边栏模块
  • user——用户管理模块
  • author——作者模块
  • calendar——日历模块
  • comment——评论模块
  • file——附件模块
  • footer——底部模块
  • header——头部模块
  • link——友链模块
  • post——文章模块
  • sidebar——边栏模块
  • static——“静态"模块
  • tag——标签模块
  • third_party——第三方模块(主要是同步微博)

不足(todo)

  • 因为HMVC自身的机制,所有模块的public方法能被直接访问,类似http://XXX/module/static/common/error

  • 发表文章的编辑板more功能缺失,目前解决办法就是在写完文章后转到html编辑模式在自己觉得需要截断的地方后面加上,那样首页显示文章片段时就会只显示到该处,否则会显示整篇文章

  • 权限固定,目前只拥有两种权限:管理员与编辑,而前台的作者栏目中是不会显示管理员的,当然如果该人既是管理员又是编辑的话例外

  • 将显示图片封装成http://XXX/file/id的方式,会增加服务器负担同时不能被浏览器缓存

你完全可以修改代码并重新发布自己的版本,遵从GPL协议

后台更改为使用markdown编辑器(20160330)

反馈(feedback)

任何papernblog的更新你都可以在git上获取,而若有任何bug或者issue你也可以在git上给我留言  https://github.com/paperen/paperenblog/issues