1azyday / flask_bbs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

flask_bbs基于Flask框架的Web论坛

  • Flask框架,MVC架构,使用Flask内置的Jinja引擎渲染模板。
  • 数据使用MongoDB存储,实现ORM。部分临时数据(token),使用Redis存储,提高效率。
  • 实现论坛基本功能(注册登录、头像签名、发帖回复、游客控制、用户信息等功能)
  • 发帖、回复支持Markdwon格式,可帖子板块进行筛选分类。
  • 实现权限控制:编辑、删除仅该用户可操作;发帖回复、用户设置等功能要求用户登录。
  • 用户信息查看该用户发帖、回复情况。
  • 注意用户安全,用户密码加盐hash再进行存储。
  • CSRF和CSS攻防。对于CSRF攻击,定义随机token藏于页面一并提交,服务器依据token判断是否是实际请求。 对于XSS攻击,后端对用户提交的内容和文件进行安全转义再存储。
  • vagrant配合visualbox,保持开发环境、测试环境与部署环境的一致性,实现Shell脚本一键部署。
  • Gunicorn启动应用,实现负载均衡;supervisor监视应用运行情况;Nginx反向代理,处理静态文件请求。

用户功能演示

注册登录

image

退出登录

image

用户头像

image

用户签名

image

修改密码

image

论坛功能演示

发帖

image

回复

image

删帖

image

版面选择

image

发帖、回复情况

image

About


Languages

Language:HTML 37.0%Language:CSS 31.8%Language:Python 28.6%Language:Shell 2.3%Language:JavaScript 0.4%