最近几个月工(个)作(人)比(非)较(常)忙(懒),公众号一直没更新,但比较欣慰的是,广大测试同仁并没有抛弃我,反而关注我的人又多了很多,难道这就是传说中的春节效应?
虽说没更新,但自己也没闲着,用Flask撸了个个人博客(稍微改动下就是个论坛),因为是从零写起,开发过程中对web安全测试也有了一点新理解,今天开始我就逐渐分享给大家。
先给大家看下网站的整体效果:
登录页面(也是首页):
注册页面:
这两个页面都实现了基本的验证,比如:
用户名密码为空:
密码不正确:
正确登录后会跳转到系统主页面,长下面的样子:
这个页面看起来不复杂,其实由好多个部分组成,技术难点也都在这个页面,具体来说这个页面分为以下模块:
Header
Footer
文章模块
文章分类tag
分页模块
新建/修改/删除 文章模块。
文章详页模块
权限控制模块(包括用户,权限,登录验证,管理员验证等)
项目配置(使用instance)
以上每个模块都说解耦的,可以随意拼接使用。
下面我们来解释下各个模块作用:
Header
Footer
前两个就不解释了。
文章模块
所有的文章,也是个人博客最重要的部分,简单起见,我以 “时间|文章标题|文章类别|作者” 这样的形式来展现,文章标题点击会进入具体的文章detail页,类别点击会列出所有同类别的文章并且排序显示。
这个模块会跟下面的分页联系起来,一次只从服务端请求一个页面的文章,防止服务端压力过大。
文章分类tag
点击主页上的模块,或者在任何文章的类别上点击,会进入下面的两个页面:
一个是列在Header上的类别,类别选中会高亮。:
一个是未列在Header上的类别,无高亮:
可以看到分页是跟着类别走的,主页更准确。
分页模块
参考了Flask上的分页,加上用了Bootstrap的样式,后面我们相信解释。
新建/修改/删除 文章模块。
用了CK Editor,最好的编辑器之一。
新建:
修改:
删除:
文章详页模块
打开就是文章的内容,注意页面元素,这个用了Flask里的BluePrint技术。红框圈起来的是user和admin组,这个是对于文章权限本身而言,不是用户组。
一个是对文章只有浏览权限,没有修改和删除按钮:
一个是文章的作者或者Admin用户组的用户,对文章有full control权限
权限控制是全局的,比如登录与否的检查,记住用户功能,是否有管理权限等。大都后端代码实现
以上就是这段时间我的成果了,所谓赠人玫瑰,手有余香,从今天开始我将一步步按照本文详解解说如何开发个人论坛,等这个系列完成后,你也是测试开发了 :)
最后附上项目代码文件层级,方便理解。