1 July 2019 - 字数统计：1299 - 阅读大约需要4分钟 - Hits: Loading...

# 重建MaBBS的计划

by mayx

这是一篇创建于 天前的文章，其中的信息可能已经有所发展或是发生改变。

AI摘要

这篇文章讲述了作者关于MaBBS重构计划的回顾和打算。作者自初中时期开始尝试编写Telnet BBS，虽然初期遇到困难，但通过学习逐渐了解了CGI和技术发展。重构计划主要包括：1) 将CGI升级为FastCGI以提高安全性；2) 实现前后端分离，利用统一API，学习新语言兼容性；3) 保持在各种设备上可运行的特性，支持POSIX；4) 对密码进行Hash处理以增强安全性，引入Session但担心其安全性问题。作者表示计划的首要任务是克服自身困难，开始重构。

- 关于计划
  - 关于这个项目
- 现在重构的打算
  - 1. FastCGI
  - 2. 前后端分离
  - 3.POSIX
  - 4. Hash&Session
- 真正的问题

这就是所谓的只擅长建立计划吧（笑）

#
关于计划

重构计划：Mabbs重构计划

需要重构的项目：Mabbs

##
关于这个项目

这个项目是我初中的时候就开始写的，当时我在网络上看到了一种很有意思的论坛，叫做Telnet BBS，貌似以前有名的高校都搞这个东西。那时刚好在用一个极其破烂的手机（Mem:256MiB,CPU:Spreadtrum SP8810,Rom:512MiB）在那里学着写Shell（关于这一段历史）。看完Telnet BBS的介绍之后，我膨胀了，我觉得以我当时的水平，肯定能写出来，于是我从此走上了填这个万年巨坑的不归路。

当时我不但膨胀，而且傻，把一个有着很明显的注入漏洞的那么一个BBS写出来之后居然还发到当时Bilibili开的一个类似贴吧一样的东西里（现在已经没了），那时候每个路由器还是动态公开IP的，于是我就那么放在了网上，丝毫不担心有人会拿它当跳板机（是我想多了LOL）

在编写之中，我了解到了CGI，于是它就可以既能用网页版，又能用命令行版。

到现在为止，这个BBS仍然有很严重的注入漏洞……而且小时候写代码也没什么规范，基本上是边学边写，于是过了一个高三没写，那个代码我是一个字也看不懂了23333

#
现在重构的打算

本来是想写在那个Project里的，但是后来想了想，还是写成博客比较好，那个东西似乎不太适合我（就是想水一篇啦）

##
1. FastCGI

我很早以前就想把这个破烂CGI改成FastCGI，但是网上找了半天，基本上也没看懂什么。不过后来用上了服务器，学了Nginx，才明白，原来所谓的FastCGI就相当于是自己又写了一个服务器软件，只是这个比较简单，只是它不再是执行后就结束的程序，而是在后台挂着，继续等待下一个请求。而Nginx起到的作用就是提高这个自制服务器的安全性，另外可以提前输出，保证速度，其实说白了就是反向代理。这次看看重构能不能加一个这个功能。

##
2. 前后端分离

最近好像挺流行这个的，就是要用Javascript，不过这个我现在也学的差不多了，不像以前，整个BBS里没有一句Javascript。

这样干还有一个好处，就是我可以不限定客户端，假如我以后学了其他语言，就可以利用统一的API调用了

##
3.POSIX

这可是我写的东西的一大优点，我写的BBS就算是只有一个Busybox也能运行，保证了在任何一台设备上都能完美运行，而且一句sed、grep、awk都没有用，就连这三件套没有都能用哦！

##
4. Hash&Session

之前我写的BBS全部都是明文保存密码的，不过现在我学了那么多关于网络安全的知识，至少Hash还是要有的。不过我不打算用其他工具，我要自己写一套！之前确实是试了试Hash，不过感觉好像又不太对……回头再仔细查一下吧。

之前BBS登录时密码都是放在Cookie里的，现在想想那真是太蠢了，本来这个BBS就全都是XSS漏洞，再明文放密码那不就是想要谁的密码都可以吗？（虽然开了HTTPONLY）不过为了提高安全性，我搞了一个类似于Session的东西，但是我不太会写随机数，所以感觉这个Session似乎更不安全了……

……

#
真正的问题

先想办法下决心写第一句话吧！

tags: MaBBS - 重构 查看原始文件

#### 推荐文章

Loading...

上一篇：如何利用MySQL数据库制作一个图站
下一篇：制作分布式加密邮件系统的计划
想问这篇文章
召唤伊斯特瓦尔