内容简介:这是一个由 Python3.6 与 Vue.js 全家桶构建的现代社区系统。Python,尤其是Python3做的开源社区系统很少,又多有年久失修,遂作此项目。
简介
这是一个由 Python 3.6 与 Vue.js 全家桶构建的现代社区系统。
Python,尤其是Python3做的开源社区系统很少,又多有年久失修,遂作此项目。
版本主题 - 安全
这个版本着重强化了一下程序的安全性,在新的密码机制下,后端密码将加盐哈希迭代 10 万次后存储。这个迭代次数是相关报告(2017 年)建议数字一万次的十倍。本来计划了更多的次数,但在百万次后我的低压 U 机器发生了明显的卡顿,考虑到个人 VPS 性能更差,因此就没有继续提升迭代次数了。
前端密码则以固定盐哈希迭代 10 万次后再向后端发送,这是为了防备非 https 环境下的中间人攻击,可以用于一些私人的或者是内网环境下的小破论坛场景,同时后端不再有机会得到明文密码。
版本主题 2 - 内容聚合
这个版本对文章列表的展示方式做了几乎完全的重构。从较为传统的“浏览板块列表 - 进入某个板块 - 浏览文章”的模式转为了一个页面布局同时展示板块列表和文章列表的模式。同时对论坛的全部内容做了一个简单的聚合。
关于Websocket 连接的移除
我使用的腾讯云CDN似乎仍然不能很好的支持ws回源,为了避免暴露服务器地址就砍掉了。
毕竟传统轮询又不是不能用(滑稽)。
当然如果可以用了,我还是会加回去,毕竟有ws能搞不少事情,也节省了资源。
升级指南
-
通过backend/misc/upgrade下的升级脚本完成升级应该没什么问题,建议复制到backend目录下执行
-
由于提醒机制的完全重做,用户的第一次重新登录会刷新提醒列表,会出现多个新提醒
-
用于密码机制的重做,在默认配置下所有用户都应该通过邮箱重置密码后才能登录。可以手动关闭新的安全密码机制,即 config 中设定`USER_SECURE_AUTH_ENABLE = False` 来继续使用老机制。
-
其实我估计大概根本没人需要这个升级指南吧……真的有人用了1.0版本吗?
附录:更新日志
新增:全新的文章列表页面,将板块列表、板块页面、最近文章页面合而为一
新增:新的密码安全机制 - issue s55, s131
新增:加入冷却时间机制,与用户和密码相关的接口现在都需要读秒 - issue s134
新增:在最近文章中提供了按权重降序(默认排序)、按更新时间降序(发布+回复时间中取最新的一个)、按发布时间降序三个选项 - issue s117
新增:在父级板块中可以通过勾选选项同屏显示子版块内容 - issue t123
新增:用户注册时现在会登记其注册IP(脱敏后),未来将用于账号安全和反spam - issue s133
重做:完全重构了提醒系统,代码减少的同时更容易理解了 - issue t130
优化:调整了签到按钮的样式和交互 - issue s127
优化:去除Firefox下的焦点虚线框 - issue s119
优化:使用异步的aioredis替代原 redis 组件
调整:移除了websocket相关内容,回退到轮询。在线人数统计也用redis替代 - issue t111
调整:移除了独立的板块列表、板块页面、最近文章页面
修正:Firefox下无法访问文章页面的问题 - issue b23
修正:图片头像有圆角,默认头像没有的问题 - issue b22
修正:编辑主题会写入多项管理日志的问题 - issue b19
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Traefik 2.0 实现灰度发布
- Redis 实现发布订阅原理与实践
- 通过发布订阅模式实现的事件委托
- 使用 Jenkins + Nginx 实现预发布
- 利用Zookeeper实现数据发布订阅
- MyOIDC v1.1.0 发布,基于 OIDC 协议的参考实现,根据各类库提供实现参考
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。