人生何处是归途:花城网事三十年

暗黑者2025

首页 >> 人生何处是归途:花城网事三十年 >> 人生何处是归途:花城网事三十年最新章节(目录)
大家在看洛公子 春满香夏 娇艳异想 四合院:从截胡秦淮茹开始 绝世兵王 极品家丁 娇娘医经 四合院:情义十字路 霸道皇姐爱上我!(GL) 我真是大明星 
人生何处是归途:花城网事三十年 暗黑者2025 - 人生何处是归途:花城网事三十年全文阅读 - 人生何处是归途:花城网事三十年txt下载 - 人生何处是归途:花城网事三十年最新章节 - 好看的都市言情小说

第57章 订单系统风波

上一章书 页下一章阅读记录

2001年9月广州

暑气还没褪尽,烈士陵园旁的红棉树缀着零星新叶。

我们从青岛时装周回来没几天,Eva就约我见面,说是有重要的事情。

在羊城晚报集团大楼一楼的咖啡厅,Eva穿米白色职业套装,手里攥着《中国时装》最新刊,封面上的刺绣旗袍在阳光下泛着柔光。

“刘军,集团要给杂志做网站了。”

她把杂志推到我面前,内页夹着张手写的需求清单.

“不只是放些文章,得能让客户在线下单,比如订杂志合订本、预约时装秀展位。但我们编辑部没人懂技术,想请你做技术顾问,全职驻场三个月,薪水按行业三倍算。”

我笑道:“现在还是网益公司的骨干员工,怎么可能全职驻场呢。我只能抽时间进行指导,可以利用周末时间先培训你们公司人员。”

Eva捂住嘴,说道:“是啊,我倒把这忘了。回去我跟领导汇报。”

我指尖敲了敲清单上“服务器搭建”几个字:“你们想要自建服务器还是托管?国内托管服务商里,万网的机柜稳定性不错,珠江新城那边还有电信的机房,延迟能控制在 50ms以内。”

Eva眼睛亮了亮,从包里掏出笔记本:“我们听技术的。但集团有要求,域名得含‘chinafashion’,还要备案——上周问过羊城晚报的技术部,他们说备案得找省通信管理局,可能要一个月。”

“域名注册我熟,中国频道现在能实时注册cn域名,先抢注‘chinafashion的下级cn域名’,再同步走备案流程。”

我拿过她的笔,在纸上画了个简单架构图。

“前端用 htmL+cSS,后端选 Ruby 1.6.7,这版本去年刚出,语法比 perl简洁,适合快速开发订单系统;数据库用 mySqL 3.23,轻量还免费,羊城晚报的新闻后台也在用这个。”

她立刻起身递来一份聘书:“这周末就开始吗?编辑部腾出了间小办公室,连 cRt显示器都给你备好了,17寸的三星,比我们编务用的还大。”

周六早晨 9:00

我推着装满工具盘的手推车进了会议室——里面有 windows 2000 Server安装盘、Apache 1.3.20的压缩包,还有打印好的《Ruby入门手册》。

Eva领着五个懂电脑操作的同事来听课,有负责内容的编辑,也有管发行的专员,每人面前摆着台装了 windows 98的台式机。

“先讲网站的‘骨架’。”

我把投影仪打开,屏幕上跳出架构图。

“大家看,用户在浏览器输域名,先通过 dNS解析到我们的服务器 Ip——这个 Ip是托管机房分配的固定地址,就像门牌号。然后 Apache服务器接收请求,把动态内容交给 Ruby处理,再从 mySqL里调数据,最后返回给用户。”

发行部的老张举了举手:“刘顾问,要是用户在新疆下单,会不会很慢?”

“问得好。”

我点开电信机房的网络拓扑图,“我们选的机房有双线带宽,新疆用户走联通线路,延迟能控制在 200ms以内,比拨号上网打开网页还快。不过要注意,图片不能太大,每张控制在 50Kb以下,不然拨号用户加载会超时。”

接下来教他们注册域名。

我打开中国频道的网页,演示输入“chinafashion国际顶级中文域名”,确认未被注册后,填了羊城晚报集团的营业执照信息:“这里的‘组织类型’要选‘事业单位’,备案时要和通信管理局的资料对得上。现在付款用银行转账,得等三个工作日才能生效,比国外的域名注册慢,但合规。”

编辑小李突然指着屏幕:“那我们的订单数据存在哪里?安全吗?”

“mySqL数据库会设两层密码,一层是服务器登录密码,一层是数据库用户密码。”

我打开 mySqL的命令行,输入“GRANt SELEct,INSERt oN orders to editor @ localhost IdENtIFIEd bY cwpc2001”,“像编辑只能查订单,不能改数据;只有 Eva和我有修改权限,密码里包含集团缩写和年份,不容易破解。”

几节课下来,同事们都记了厚厚的笔记。

老张还把 Apache的配置参数抄在工作证背面:“以后服务器出问题,我也好帮你搭把手。”

到了晚上,大家都回去了。

办公室只剩我和 Eva。

她把自己的电脑搬到我旁边,cRt显示器嗡嗡作响,屏幕上是 UltraEdit编辑器——2001年还没有 Ruby专用 IdE,只能用文本编辑器写代码。

“今天教你写订单提交模块。”

我新建了个“order.rb”文件,先写类定义:“Ruby是面向对象的,我们定义个 order类,包含客户姓名、订单金额这些属性。你看,‘attr_accessor :name,:amount’这行,就能自动生成 getter和 setter方法,不用像 Java那样写一堆函数。”

Eva跟着敲键盘,手指偶尔会按错键:“为什么这里要用‘ @name’而不是‘name’?”

“@开头的是实例变量,只有这个 order对象能访问。”

我指着屏幕,“比如你创建一个订单‘order1 = order.new’,order1的@name和 order2的@name是分开的,不会混在一起。”

接下来连数据库。

我打开 mysql-ruby 2.4.1的驱动包,教她写连接代码:“‘mysql.new (localhostadmincwpc2001chinafashion)’这行,依次是服务器地址、用户名、密码、数据库名。要记得加异常处理,不然数据库断连时,用户会看到一堆乱码。”

她试着写了段提交订单的代码,运行时却报错了。

我凑过去看,发现她把“INSERt INto orders (name, amount) VALUES (#{@name},#{@amount})”里的引号写错了——字符串变量要加单引号,数字不用。

“你看,要是客户姓名里有单引号,比如‘oNeil’,这段代码就会报错。”

我帮她改成参数化查询,“用‘prepare’方法,把变量当参数传进去,就能避免这个问题,还能防 SqL注入——以后写代码都要这么写。”

半个月后,Eva能独立写用户注册、订单查询的模块了。

有天晚上,她运行代码成功调出最新订单时,兴奋地拍了下桌子:“原来 Ruby这么简单!比我大学学的 c语言好懂多了。”

我看着她屏幕上整齐的代码,突然觉得这几个月的周末,比做任何技术项目都有意义。

某个周末天河航空商务酒店,

我和 Eva刚吃完广式晚茶,就把笔记本电脑接到房间的拨号网络上。

她点开“中国时装网”的订单页面,屏幕却跳出乱码,夹杂着“oR 1=1--”的字符。

“怎么回事?”

Eva的声音有点慌。

我立刻远程登录服务器,打开 Apache的 access.log——里面全是异常请求,比如“\/order.php?id=1 oR 1=1--”。

“是 SqL注入。”

我快速切换到 mySqL命令行,输入“SELEct * FRom orders whERE id =1 oR 1=1--”,果然查出了所有订单数据。

“攻击者用拼接 SqL语句的方式,绕开了登录验证。还好我们之前教你的参数化查询,大部分模块都防住了,只有老编辑写的查询页面没改。”

我先把有漏洞的页面下架,换成静态提示页,然后用 traceroute命令追踪攻击 Ip。

“你看,这个 Ip是 202.96.128.*,属于广州的电信网段——再查 whoIS,是‘南方时装传媒’的,他们上个月刚做了类似的订单网站。”

Eva攥紧了拳头:“他们怎么能这么做?”

我没说话,打开屏幕录像,把 access.log里的攻击记录、Ip追踪过程一一录下来,又导出数据库里的注入日志,压缩后加密:“这些都是证据,得交给国家安全部门——2001年《计算机信息网络国际联网安全保护管理办法》里明确说了,破坏计算机信息系统是违法的。”

我拨通了省公安厅网安总队的电话,说明情况后,他们让我们第二天去提交证据。

挂了电话,Eva靠在椅背上,眼神有点疲惫:“以后网站还会被攻击吗?”

我把她的笔记本拿过来,帮她更新了 Ruby的安全补丁:“放心,我会把所有模块都改成参数化查询,再装个入侵检测系统,有异常请求会实时报警。”

那晚我调试到凌晨三点,Eva在旁边帮我泡了杯速溶咖啡。

窗外的天河路灯火通明.

我看着屏幕上“订单系统恢复正常”的提示,突然意识到,这个网站不只是代码和数据,更是 Eva和同事们的心血.

我必须守住它。

周一

提交证据后,网安部门很快介入调查,南方时装传媒的技术负责人被约谈,攻击行为也停了。

但 Eva偶尔还是会盯着订单系统的后台日志发呆,问我:“要是他们换个 Ip再来怎么办?”

我帮她在服务器上部署了防火墙,只开放 80端口和 mySqL端口,还把日志同步到羊城晚报集团的备份服务器:“以后每周我都来检查一次安全漏洞,你要是看到异常,随时给我打电话——不管几点。”

那天,Eva把我送下楼,手里拿着本签了名的《中国时装》:“网站现在每天有两百多个订单,都是你的功劳。”

我接过杂志,看到扉页上写着“致刘军:最靠谱的技术守护者”。

走到红棉树下,我回头看了眼她的身影——阳光洒在她的发梢,像那天第一次见面时一样。

只是我心里多了份牵挂:Eva以后会不会遇到更多技术麻烦?那些竞争对手会不会用更隐蔽的手段攻击网站?

我想,只要她需要,我随时都会回来,做她的技术后盾。

就像守护那个用 Ruby写出来的订单系统一样,坚定而执着。

上一章目 录下一章存书签
站内强推凡人修仙传 龙族 三叶草 长公主病入膏肓后 娇艳异想 动漫之后宫之旅 虫族在晶壁系世界 逍遥人生 偷星九月天里的超能力者 山村桃运邪医 wtw1974 一路凡尘 剑来 京师无人生还 福艳之都市后宫 天道天骄 绝世兵王 私人医生 心之怪盗!但柯南 都市偷心龙爪手 
经典收藏天官赐福 艳海风波 明星系列多肉小说 重生之官路商途 都市极乐后后宫 四合院我何雨柱是厨神 我真是大明星 铁枪无敌 离婚后不装了,我就是神医 重生八五,离婚海钓养娃赚翻了 七岁的我辈分太高,成全村人叔公 正义的使命 官梯:从薅帝国主义羊毛百亿开始 上门龙婿 重生51年:隐居深山建立超级家 港片:为靓坤复仇,国际大鳄归来 斗破苍穹2:绝世萧炎 凡人修仙传 女人卖菜为生,竟不知丈夫是仙帝 万界之无限副本 
最近更新鼎安王国 田城旧事:三言两语 意念奇点 我身边全是美女,绝色前妻她急了 都穿越南韩了必须当财阀啊 高武:我拥有属性面板 出门捡到命运种子 龙魂机甲 开局天价违约金我直接退休不干 我真不想当神剑主,妹妹逼的! 都市:我,仙尊,今天只想躺平! 穿越1978开局被小姨子暴打 从建筑工到银河工程师 股市狂鲨 天赋波波大王,我即是战争巨兽 青云秀色 出口亿点管制烟花,很核理吧! 我有三寸芒,可斩九天霜 澳门小赌徒 超凡临渊 
人生何处是归途:花城网事三十年 暗黑者2025 - 人生何处是归途:花城网事三十年txt下载 - 人生何处是归途:花城网事三十年最新章节 - 人生何处是归途:花城网事三十年全文阅读 - 好看的都市言情小说