[32期] 第一个论坛项目的一波三折

      第一个论坛项目的一波三折

第一回:需求分析背后的隐患

刚开始做项目的时候,写了一天的文档,我也把自己尽可能想到的功能,做了需求分析,然后详细的设计了数据库,感觉时间上有点紧。虽然做了项目文档的主要内容,但是总以为,这东西,有什么用呢?到时候动手做不就成了吗?每当想到这,在内心深处都是一个很大的问号,加上一个叹号,问的是,这个文档对我做项目有什么帮助吗?叹的是,真不该抱怀疑的态度,毕竟,跟着党走,是正确的!就这样,内心纠结着,开始了漫长的代码之旅。
首先我从数据库开始下手,这个看似简单,操作也很简单的phpadmin数据库管理软件,建了几个表之后,更陷入了深深的疑虑,表之间的关系我应该怎么确立呢?在以后项目的业务逻辑上,是不是得通过表之间的关系来架起桥梁?带着这些问题,边思考边改表,删了改,改了删,经过几次设计,才发现,我完全脱离了当初写数据库设计文档的初衷,虽然有很多字段都和写文档时的一样,但是根本没有按着正常的路线前进,结果本末倒置,浪费了很多时间。后来,对照着我写得数据库设计文档,很快的完善了数据库。
数据库设计完善后,动手敲代码,记得第一个写的业务就是注册,按照构思,很快的写完了,也加上了一个很cool的中文验证码,终于可以写出来程序了,虽然这不算什么,简直就是菜鸟的下酒菜,但是对于一个新手来说,还是有点小兴奋。毕竟学了这么久,还不知道自己到底学到了什么,其实,我们的翅膀在渐渐丰满,一切的努力都是为了今天的厚积薄发,重要的是,你相信你自己。
见到了自己能写出这么多的代码,还是有点吃惊,即使我很相信我自己。不过在敲代码的过程中,也遇到了很多的问题,有的是知识的遗忘,有的是逻辑的不通,更多的是遇到了构思上的窘境。谈起构思,我对整个项目的框架确实分析的不够到位,很多小的功能很凌乱,没有很好的整合,太注重细节,在全局上没有把握好。没有仔细看项目要求和需求文档分析,仅仅靠自己的发挥,想到哪,写到哪,结果有些功能没有按照需求实现,然而也开发了很多小的功能,有得有失,但是毕竟不符合项目的要求,如果在公司,交完项目我估计会提前把老板炒了,这不是明智,这是自知之明。
项目开发了一大半,基本上的功能都实现了,就在要交项目的前几天,我反思啊反思,需求文档我好像一眼都没瞧过,我为什么会这么累呢,每天都熬夜写代码,大部分不是代码上的困难,而是结构和功能上的分析,在这两方面,我耗费的时间占项目时间的四分之三。有句话说的好,不打无准备的仗,没有做充分的分析和设计,其实我已经败了。最终,项目因没有详细的需求分析,就这么踉踉跄跄的走向了审判。

第二回 首页被扼杀
记得交项目的前一天,在进行页面细节设计时,由于开的窗口太多,鬼使神差的切换到了首页的窗口,当时误以为是论坛子版块,因为他哥俩长的太像,简直是孪生兄弟,我大刀阔斧的砍掉了多余的代码,就在这时候看到很漂亮的子版块沾沾自喜时,一个晴天霹雳让我目瞪口呆,首页呢?首页呢?就在点击返回首页的链接,浏览器却显示的是苍白的错误,犹如一张很丑陋的脸,嘲笑般的好像在说:“你被耍了 …!” 当头一棒的感觉很爽,这才想起当时老师千叮咛万嘱咐的一句名言,数据一定要备份。我恨,没有首页我还玩什么啊,玩不转了,我满屏幕的找我的首页,就跟搜救似的,大海捞针啊。最后还是清醒了,发现了问题,原来,扼杀首页的不是别人,是自己,一个小的失误,却照成了致命性的灾难。还好,首页的代码不算多,CSS文件没有受难,最重要的一点,也是最值得庆幸的一点是,首页的核心代码部分仅仅是一行代码,读到这你已经猜到了,它是调用的函数,多亏当初设计的时候,把核心的部分写在了函数里,作为一个独立的文件调用,不然,这次真是毁灭性的打击啊。后来,经过css和这个函数,终于找回了首页,项目顺利的交了上去。
经过这次教训,让我时刻记住一句话,重要的数据一定要备份,别掉以轻心,不然,谁都救不了你了。

第三回 木马的侵袭

写到这,好像有人提出疑问,这跟做项目有什么关系,是跟项目没关系,然而,我哭得心都有了,整个项目的代码都感染了PHP木马,还好,木马还算人道,只是嵌入一个iframe框架,一个不成熟的超链接,不然,这比非洲难民活的都要痛苦。有人又想问,这个幕后黑手到底是谁啊?好吧,跟着我一起来听听我的故事,找出真正的元凶。
记得,那是一个阳光明媚的早上,我在CSDN网站上闲逛,一个敏感的关键词,深深的吸引了我,以前曾听说过,就是没见过,今天有幸一见,赶紧下载了下来…
项目被审核后,终于松了一口气,先别管做的怎么样了,十几天太疲惫了,好好的睡上一觉。真的,现在每天做的梦几乎都是代码,有一天,做梦竟写出来我要的功能,梦这东西,真挺神奇啊,不管你信不信,我是信了。一天醒来,觉得自己论坛是不是还要重新看看,总结一下经验和教训,翻着每个文件的代码。遇到一处需要打开数据库查看表结构的地方,于是,很常规的输入了用户名和密码,一个回车敲下去之后,眨眼间,浏览器以迅雷不及掩耳之势,满屏幕英文的错误警告提示:对不起,¥%#¥#@@#¥%……&*,我英文不好,也不能这样啊!崩溃….!也只能捧着一盆没肉的骨头一样,索然无味的一条一条啃下去,逐个排查错误。
就在此时,突然间脑袋蹦出了几个血红的大字,那天在CSDN网站上的关键词,难道是它?…真的是吗…?顿时,一阵寒气从后脊梁骨直逼天庭,越想这个关键词越惊悚,感觉又要有灾难降临了,脑袋上不断盘旋着远方传来的噩耗…
越来越急了,不断回想着那天的关键词,心里也不断的猜疑。过了半晌,终于在一处phpAdmin配置文件的结尾处,发现了一个可疑的代码,居然是HTML代码<ifram>……,令人不解的是,配置文件怎么能放html标签呢,这真是风马牛不相及,于是,顺藤摸瓜,查看了WWW根目录下的其他文件,令人瞠目结舌的是,除了有几个文件没被注入代码,其他无一幸免…导致数据无法访问的根本原因是,我被那条关键词给黑了,关键词的内容就是:PHP木马。
是的,那天我下载了它,想要玩一下,进入了它的管理平台,确实很强大,有一项功能叫做网站批量挂马,好奇害死猫啊,无意之中点了它,当时什么反应也没有,玩了半天无趣,扔下了,没管。就这样,整个网站都被这个木马嵌入了它的代码,导致项目有的功能失效,连我的验证码和一部分页面都无法正常显示了,最悲惨的就是数据库了。
在排毒的过程中,我发现了一个规律,就是所有的嵌入的木马,都是相同的,都是在文件内容的尾部,刹那间来了灵感,我何不用一条正则来匹配他,把它替换成空字符串,重新写入文件不就解决了吗,再用上递归遍历整个目录,OK,很快的,搞定了。杀了部分的代码之后,数据库和网站都正常显示了,这才松了一口气,又一次灾难性事件发生在我身上,只叹玩木马不成,却被木马玩了啊!
吸取教训吧。

项目做完了,不够成熟的作品就这么被宣判了,虽然依靠一些扩展功能挽回了一些分数,但是,这次的项目我确实是失败了,我相信老师给我分数的理由,还是踏实的走好每一步继续努力吧,更要记住那一波三折的惨痛教训啊。

做了这个项目,发现思路一下都通了,以前的基础语法,和一些小例子都可以很好的整合到一起,原来,程序不是想出来的,是靠手一点一点敲出来的,敲的同时,其实你的脑袋正在高速的运转,这就像学骑车子一样,只有亲自动手操作,才能领悟细微的东西,无意之中,你才发现,你可以很好的驾驭它了。
最后还是想出来一句话,送给我和我的战友们:
——青春无悔,只争朝夕,磨砺人生,相信自己。

原文地址:http://bbs.lampbrother.net/read-htm-tid-101279.html

<script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/buttonLite.js#style=-1&uuid=&pophcol=3&lang=zh"></script> <script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/bshareC0.js"></script>
阅读(57) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值