zoukankan      html  css  js  c++  java
  • 我的第一个python web开发框架(22)——一个安全小事故

      在周末的一个早上,小白还在做着美梦,就收到了小美的连环追魂call,电话一直响个不停。

      小白打着哈欠拿起电话:早上好美女。

      小美:出事了出事了,我们公司网站一早访问是一片空白,什么内容都没有了,你赶急上去看看是怎么回事。

      小白一听到马上紧张了起来,赶紧说:好的,我先看看,一会回电话给你。

      小白说完赶紧打开电脑,登录网站查看,发现网站内容不见了,然后登录后台查看,发现后台产品记录都不见了,公司简介和联系我们也是空白的......

      小白赶紧打通小美电话,和她沟通了起来:这是什么时候发现的?你们网站最近有没有更新过?有多少人知道管理员账号和密码??

      小美:是早上一早发现的,我们老板早上起来打开网站时发现一片空白,就打电话给我了,打了你一早电话也没接听。网站上线后,一直都没怎么更新内容。知道网站管理员密码的有好几个人,不过有一个人前段时间离职了,不知是否有关。另外,密码一直是123456没有改过。

      小白:嗯嗯,这肯定是有人搞破坏造成的,不知是那个离职人员还是外面的人黑了进来造成的。还好数据库我做了备份,一会我恢复一下,接下来我会重新设计一下后台管理系统权限,完善权限管理,免得大家担心受怕的。

      小美:好的,尽快弄好,搞好后马上告诉我。

      ......

      小白忙碌了一个早上,终于恢复了网站的正常运行。

      下午小白将老菜约了出来,并将早上发生的事情详细的讲了讲,寻求老菜的帮助。

      小白:老大,事情的经过就是这个样子,上次项目结束时,你说过我的代码存在很多问题,所以我也想趁着这次机会,全部重新设计重构代码,你有什么好的建议,指点一下。

      老菜:经历是最好的成长机会,只有经历过才会重视系统安全,重视代码质量和开发流程。之前你刚做项目,和你提了很多内容,你可能都没太注意,这次是一个很好的契机,利用这个机会重新设计系统并重构代码,完成后你的技术应该就会有一个质的飞跃,当然也会遇到更多的问题,你需要做好挑战的准备。

      首先要确认的是,你是想解决当前这个权限管理问题?还是通过这次机会,将代码全部重构,完善开发框架与系统?因为不同的目标工作量是完全不一样的。前者只需要改造后台管理系统,增加权限管理就可以实现;而后者,有可能所有代码都需要重新编写,工作量也会很大。

      小白想了想:嗯......通过这个项目的开发,让我掌握了很多开发技能,而这些都是很初级的,难得有这个项目可以继续练手,我也希望可以拥有自己的开发框架,这样以后开发起来更能得心应手。

      老菜:好的,如果你没有准备好的话,我会建议你采用循序渐进的方法进行重构,通过多次反复的重构,慢慢完善你的框架与系统,最终得到一个成熟的开发框架,也能深入的掌握相关的技术,这个过程可能会很长。而另一个办法,就是通过我的指导,可以快速进入状态,按我所说的办法与注意事项,一步到位,全方位掌握开发流程与相关技术,整个过程可能会比较难,有些技术也会比较难以理解,可能需要囫囵吞枣式的学习,需要事后自己反复的思考、练习与debug运行,才能慢慢掌握。

      既然你想要系统的学习,那么首先要做的就是规范化,代码做好版本控制管理,接口必须要有接口文档,代码需要封装与重构等等,具体后面我会详细介绍。

      PS:进入新公司几个月来,天天从早忙到晚上12点,几乎没有节假日,4个月一下就过去了,现在仍然还是很忙,但起码可以喘一口气了,年初定下要完成本系列博文第二部分的目标,从本月开始会继续进行,尽量每周抽出一个晚上来写博,争取在年内写完,至于后续部分的内容,以后看缘份吧。

      接下来会花不少章节,再一次介绍开发前要做的一些必要准备,然后再一步步引出ORM、代码分层、权限系统、异常排查、装饰器等内容,具体顺序和内容会根据需要进行适应的调整。

    版权声明:本文原创发表于 博客园,作者为 AllEmpty 本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。

    python开发QQ群:669058475(本群已满)、733466321(可以加2群)    作者博客:http://www.cnblogs.com/EmptyFS/

  • 相关阅读:
    mysql,apache,php的关系
    简析 Tomcat 、Nginx 与 Apache 的区别
    Linux中涉及到环境变量的文件
    如何在Linux启动的时候执行一个命令
    sed的额外用法(网摘)
    shell脚本执行方式
    在rhel7上搭建centos7的yum源
    MYSQL三种安装方式--二进制包安装
    ssh连接不上排查方法总结
    MySQL启动很慢的原因
  • 原文地址:https://www.cnblogs.com/EmptyFS/p/9135516.html
Copyright © 2011-2022 走看看