我的第一个python web开发框架(22)——一个安全小事故
在周末的一个早上,小白还在做着美梦,就收到了小美的连环追魂call,电话一直响个不停。
小白打着哈欠拿起电话:早上好美女。
小美:出事了出事了,我们公司网站一早访问是一片空白,什么内容都没有了,你赶急上去看看是怎么回事。
小白一听到马上紧张了起来,赶紧说:好的,我先看看,一会回电话给你。
小白说完赶紧打开电脑,登录网站查看,发现网站内容不见了,然后登录后台查看,发现后台产品记录都不见了,公司简介和联系我们也是空白的......
小白赶紧打通小美电话,和她沟通了起来:这是什么时候发现的?你们网站最近有没有更新过?有多少人知道管理员账号和密码??
小美:是早上一早发现的,我们老板早上起来打开网站时发现一片空白,就打电话给我了,打了你一早电话也没接听。网站上线后,一直都没怎么更新内容。知道网站管理员密码的有好几个人,不过有一个人前段时间离职了,不知是否有关。另外,密码一直是123456没有改过。
小白:嗯嗯,这肯定是有人搞破坏造成的,不知是那个离职人员还是外面的人黑了进来造成的。还好数据库我做了备份,一会我恢复一下,接下来我会重新设计一下后台管理系统权限,完善权限管理,免得大家担心受怕的。
小美:好的,尽快弄好,搞好后马上告诉我。
......
小白忙碌了一个早上,终于恢复了网站的正常运行。
下午小白将老菜约了出来,并将早上发生的事情详细的讲了讲,寻求老菜的帮助。
小白:老大,事情的经过就是这个样子,上次项目结束时,你说过我的代码存在很多问题,所以我也想趁着这次机会,全部重新设计重构代码,你有什么好的建议,指点一下。
老菜:经历是最好的成长机会,只有经历过才会重视系统安全,重视代码质量和开发流程。之前你刚做项目,和你提了很多内容,你可能都没太注意,这次是一个很好的契机,利用这个机会重新设计系统并重构代码,完成后你的技术应该就会有一个质的飞跃,当然也会遇到更多的问题,你需要做好挑战的准备。
首先要确认的是,你是想解决当前这个权限管理问题?还是通过这次机会,将代码全部重构,完善开发框架与系统?因为不同的目标工作量是完全不一样的。前者只需要改造后台管理系统,增加权限管理就可以实现;而后者,有可能所有代码都需要重新编写,工作量也会很大。
小白想了想:嗯......通过这个项目的开发,让我掌握了很多开发技能,而这些都是很初级的,难得有这个项目可以继续练手,我也希望可以拥有自己的开发框架,这样以后开发起来更能得心应手。
老菜:好的,如果你没有准备好的话,我会建议你采用循序渐进的方法进行重构,通过多次反复的重构,慢慢完善你的框架与系统,最终得到一个成熟的开发框架,也能深入的掌握相关的技术,这个过程可能会很长。而另一个办法,就是通过我的指导,可以快速进入状态,按我所说的办法与注意事项,一步到位,全方位掌握开发流程与相关技术,整个过程可能会比较难,有些技术也会比较难以理解,可能需要囫囵吞枣式的学习,需要事后自己反复的思考、练习与debug运行,才能慢慢掌握。
既然你想要系统的学习,那么首先要做的就是规范化,代码做好版本控制管理,接口必须要有接口文档,代码需要封装与重构等等,具体后面我会详细介绍。
PS:进入新公司几个月来,天天从早忙到晚上12点,几乎没有节假日,4个月一下就过去了,现在仍然还是很忙,但起码可以喘一口气了,年初定下要完成本系列博文第二部分的目标,从本月开始会继续进行,尽量每周抽出一个晚上来写博,争取在年内写完,至于后续部分的内容,以后看缘份吧。
接下来会花不少章节,再一次介绍开发前要做的一些必要准备,然后再一步步引出ORM、代码分层、权限系统、异常排查、装饰器等内容,具体顺序和内容会根据需要进行适应的调整。
版权声明:本文原创发表于 博客园,作者为 AllEmpty 本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。
python开发QQ群:669058475(本群已满)、733466321(可以加2群) 作者博客:http://www.cnblogs.com/EmptyFS/
我的第一个python web开发框架(22)——一个安全小事故的更多相关文章
- 我的第一个python web开发框架(41)——总结
我的第一个python web开发框架系列博文从17年6.7月份开始写(存了近十章稿留到9月份才开始发布),到今天结束,一年多时间,想想真不容易啊. 整个过程断断续续,中间有段时间由于工作繁忙停了好长 ...
- 我的第一个python web开发框架(14)——后台管理系统登录功能
接下来正式进入网站的功能开发.要完成后台管理系统登录功能,通过查看登录页面,我们可以了解到,我们需要编写验证码图片获取接口和登录处理接口,然后在登录页面的HTML上编写AJAX. 在进行接口开发之前, ...
- 我的第一个python web开发框架(1)——前言
由于之前经验不是很丰富,写的C#系统太过复杂,所以一直想重写,但学的越多越觉得自己懂的越少,越觉的底气不足.所以一直不敢动手,在内心深处对自己讲,要静下心来认真学习,继续沉淀沉淀.这两年多以来找各种机 ...
- 我的第一个python web开发框架(3)——怎么开始?
小白与小美公司经过几次接触商谈,好不容易将外包签订了下来,准备开始大干一场.不过小白由于没有太多的项目经验,学过python懂得python的基本语法,在公司跟着大家做过简单功能,另外还会一些HTML ...
- 我的第一个python web开发框架(32)——定制ORM(八)
写到这里,基本的ORM功能就完成了,不知大家有没有发现,这个ORM每个方法都是在with中执行的,也就是说每个方法都是一个完整的事务,当它执行完成以后也会将事务提交,那么如果我们想要进行一个复杂的事务 ...
- 我的第一个python web开发框架(6)——第一个Hello World
小白中午听完老菜讲的那些话后一直在思考,可想来想去还是一头雾水,晕晕呼呼的一知半解,到最后还是想不明白,心想:老大讲的太高深了,只能听懂一半半,看来只能先记下来,将明白的先做,不明白的等以后遇到再学. ...
- 我的第一个python web开发框架(2)——第一个Hello World
小白中午听完老菜讲的那些话后一直在思考,可想来想去还是一头雾水,晕晕呼呼的一知半解,到最后还是想不明白,心想:老大讲的太高深了,只能听懂一半半,看来只能先记下来,将明白的先做,不明白的等以后遇到再学. ...
- 我的第一个python web开发框架(2)——一个简单的小外包
第一部分说明 第一部分大概有20来章,主要讲的是一些开发常识.开发前中后期准备内容.开发环境与服务器部署环境安装设置.python基础框架结构与功能等内容,代码会比较简单. 本系列会以故事的方式,向大 ...
- 我的第一个python web开发框架(7)——本地部署前端访问服务器
PS:本系列内容进度节奏会放的很慢,每次知识点都尽量少一点,这样大家接触的知识点少了,会更容易理解,因为少即是多.另外,对于后面代码部分,虽然尽量不用那些复杂的封装和类,但它并不表示看了就能全部记住, ...
随机推荐
- GitLab 社区版 11.0.2用户管理教程
Gitlab地址:http://xx.xx.xx.xx/users/sign_in 登录之后,主界面 右上角功能按钮,分别为管理区域.新建.问题.合并请求.待办事件.个人设置 选择管理区域按钮 可以根 ...
- qt 共享内存 单例
QT 进程间通信之古老的方法(内存共享) 让QT只运行一个实例 以上两篇文章中分别讲述了QSharedMemory的不同作用,第一篇讲了进程间通信,第二篇讲述了怎么让应用程序只 ...
- Shader 入门笔记(一) 如何学习shader
本笔记,是根据自己学习shader的笔记,主要是参照冯乐乐的<Shader 入门精要> 和游戏蛮牛shaderLad视频 和网上一些博客. 为啥要学习这个呐? 自己其实之前学过一段时间的s ...
- FloatingActionButton(悬浮按钮)使用学习<一>
FloatingActionButton简称FAB. 一. 对于App或某个页面中是否要使用FloatingActionButton必要性: FAB代表一个App或一个页面中最主要的操 ...
- idea启动TOMCAT html 乱码
在运行/调试 配置对话框的Startup/Connection面板中, 勾选Pass environment variables. 并添加一个environment variable, Name填 J ...
- Java提高班(二)深入理解线程池ThreadPool
本文你将获得以下信息: 线程池源码解读 线程池执行流程分析 带返回值的线程池实现 延迟线程池实现 为了方便读者理解,本文会由浅入深,先从线程池的使用开始再延伸到源码解读和源码分析等高级内容,读者可根据 ...
- #6 ipdb模块源代码解读
前言 好久不见,大家最近可好
- Kotlin入门学习笔记
前言 本文适合人群 有一定的java基础 变量与方法 变量声明及赋值 var 变量名: 变量类型 val 变量名: 变量类型 这里,var表示可以改变的变量,val则是不可改变的变量(第一个赋值之后, ...
- Android破解学习之路(十二)—— GP录像汉化过程及添加布局
前言 最近闲着发慌,想起了很久之前就想汉化的一款录像APP,APP大小不到1MB,但是好用,本期就给大家带来汉化的基本步骤以及如何在APP中添加我们汉化的信息 汉化思路 查找关键字 关键字挺好找的,由 ...
- 高效使用VSCode的9点建议
在开源 IDE 市场,最近几年 Visual Studio Code(简称 VSCode)越来越流行.自从 2015 年对外发布后,根据 2018 年 Stack Overflow 的调查报告,有 3 ...