第47章 完成后端代码

目录:回到1997造芯片| 作者:牧狼童| 类别:都市言情

    花了三天的时间给俩小孩补齐了课,剩下的时间王向中都把它们花在了搜索引擎的构建上,每天就睡四五个小时,一刻都不敢停歇。

    临近假期结束,搜索页面的简易表单和区块布置都已经构建完毕,读写数据库内容的SQL语句也已经写得大差不差,只要通过,便可以走下一步流程了。

    “胖子,你快过来看看。”王向中对正与李锦光聊的火热的吕大海说道。

    李锦光和吕大海不愧是一路货色,两个人无论是脑子里的思想和脾气都恰巧这么对上了,皆是颇有种相见恨晚的感觉。

    “中哥,发生什么了?”吕大海瞧见王向中喊自己,旋即也是屁颠屁颠地跑了过来。

    “你看一下这个页面,简单做一个测试。”王向中拍了拍对方的肩,微笑道。

    软件测试,是一种核查软件是否正常工作的基本流程,其目的是为了检查软件实际功能与需求是否一致。

    这个年代还没有什么正规的软件测试流程,大概就是请一个用户随便操作一下,看看有没有bug(程序漏洞)之类的存在。

    一般来讲,软件的开发者是不参与测试工作的,因为整体的操作逻辑是由开发者自己所设定,所以在操作的时候难免会有些思维固化,导致遗漏掉不少非常规步骤。

    当然在未来世界也是有正规科学的测试流程,首先按照需求写一套测试用例,接着根据用例所含流程写一套测试脚本,使用自动化脚本覆盖所有操作路径,而这也被称为白盒测试。

    听完了王向中的介绍,吕大海也是点了点头,坏笑道:“那我就尽量折腾了哈!”

    “随便,只要不把电脑给砸了。”王向中露出一副无所谓的模样。因为吕大海不懂需求,但同时又会操作电脑,无疑就是最好的测试工具人。

    只见吕大海手持鼠标点来点去,时而沉思,时而眉头紧锁,约莫过了十分钟,才伸了一个懒腰。

    “用得怎么样?”王向中笑着问道。

    “现在还看不出来,感觉上已经没什么问题了。”吕大海有些纳闷,他还是有些不明白,为什么此刻的王向中懂得这么多,不仅年纪轻轻就出来做生意,竟然还可以独立写一个网站。

    “我说中哥,你到底吃了什么灵丹妙药?我实在是不明白,我们哥俩一样的年纪,凭什么你就可以混得风生水起?”吕大海胖脸上满是不解之色,就好像王向中的脑子格外好用似的。

    王向中听到这话也是愣了一下,才意识到自己的行为确实有些夸张了。

    一个人要么早早出社会经商,要么一头扎进学校深耕技术和学术,十八岁的年纪就能全盘掌握这两者,这确实太逆天了。

    当然王向中不可能承认自己是个穿越者的事实,只能是尴尬着搪塞一番:“哎呀,我就是运气好罢了,换做是你,你也可以。”

    吕大海倒也只是感叹一句罢了,单纯的他并没有生出什么坏心思,于是也只是白了对方一眼,怒骂道:“小气鬼,你肯定是吃了什么药。”

    王向中也没有理会吕大海这番白痴言论,不过这一出倒是提醒了他,小心驶得万年船,日后做事一定要尽量低调一些。

    吕大海绝非是唯一一个会提出质疑的人,也就是他没什么心机,若是让心机重的人逮到了,恐怕又会出什么幺蛾子。

    一想到这,王向中也是摇了摇头,迅速将思路扳回到搜索引擎这件事上。

    现在既然已经完成了前后端逻辑上的工作,接下来就是着手代码安全方面的工作了。

    不像未来的各种后端框架中自带各种安全措施,现在依靠原生ASP写的网站必须要自己去写逻辑,实现安全防护功能。

    安全防护功能主要针对两块内容,第一是表单SQL注入漏洞补丁,第二是CC攻击屏蔽措施。

    所谓SQL注入,就是利用反斜杠号“\”和引号,改写原有SQL语句的作用。

    打个比方,像这种搜索引擎的输入文本框,一般使用“Select”语句(查询关键词),按照内容键值匹配索引相对的数据。

    文本框的内容在后端往往被视为一个参数,由于参数类型是String(字符串类型),因此往往在该参数开头和结尾还有双引号的存在。

    而参数内部一旦带有双引号,则会对整个语句的执行出现偏差。比如攻击者可以巧妙地便写一串含有“Insert”语句(插入数值关键词)或者是指向其它的数据表,看似坚固逻辑紧密的服务就会被瞬间瓦解。

    写程序的人往往都知道一句话:“永远不要相信用户的输入。”因此,在编写代码的过程中,务必要给参数字符进行限制、过滤、转义等操作,才能保障数据层面的安全性。

    而CC攻击比较好理解,它一般针对于网站,通过构造大量虚拟访问或是针对接口的频繁参数传递,使得中间件消耗大量的系统资源,直至其超出性能承受范围而崩溃。

    未来的中间件例如nginx或apache都自带防CC攻击的安全模块,而现在王向中所用的IIS3.0显然是没有这种东西的。

    因此只能在代码层面上稍稍限定一番。例如限定同IP每分钟所能调用接口的次数,然后在服务器后台里写一个监控脚本,每分钟检测中间件和数据库的运行情况,一旦发现进程异常,则立刻重启。

    当然最好的办法就是前后端分离,数据和中间件分离,使用CDN或者集群来规避集中访问问题。

    但现在第一是没有技术,好多需要的技术都还在娘胎里;第二还是王向中太穷了!就现在赚到区区几万块,别说是建一个集群,能不能买到一台合适的服务器都还是问题。

    一般来讲,王向中还需要买三台设备,第一是应用服务器,第二是三层交换机,第三是磁盘阵列。

    应用服务器用于部署基本的环境和代码,以及执行语句的计算工作;而三层交换机则是兼并了路由器和普通交换机的职能,用于外网连通和内网构建;至于磁盘阵列,在这个年代可能还买不到,只能自己手动改一台普通服务器……

    如果再不狠狠赚钱,恐怕就要来不及了!