2000年 11月 7日
凌晨三点,广州中信广场的玻璃幕墙上还映着残月。
我盯着显示器上不断跳动的境外 Ip地址,指尖在键盘上敲出一串防火墙指令。
老谭的保温杯在桌角晃了晃,枸杞水溅在“旅游行业域名清单”上,晕开一小片褶皱。
“又来一批。”
我刷新 cNNIc的实时注册列表,红色的境外 Ip像蚁群般爬满屏幕。
“这次是日本的服务器,目标是网益中文域名。”
berry突然踹开服务器机房的门,匡威鞋跟沾着半截网线。
“搞定了!”
她把刚刻录的域名注册证书塞进我抽屉,cd-Rom还带着光驱的余温。
“服装类前五十个热门词全锁死,包括李宁和丝绸的国际域名和国内域名。”
她染着酒红色指甲的手指点向屏幕,“NSI那边的中文域名系统有漏洞,我用 perl脚本刷了三次验证码。”
老谭突然拍桌而起,他的 cRt显示器嗡嗡作响。
“‘黄山国际域名被抢了!”
他额角青筋跳动,抓起固定电话猛拨。
“喂?是万网吗?我是网益老谭……对,就是那个旅游频道的……什么?五分钟前被香港 Ip注册了?”
他挂电话时听筒撞在机座上。
“这群人连黄山的淡季都算准了,下个月开始就是温泉旺季。”
我咬开一支可乐,气泡在喉咙里炸开。
“别慌,”
我调出 whoIS查询记录,“这个 Ip段属于一家刚成立的投资公司,注册信息留的是临时邮箱。”
我快速敲入几行代码,把监控脚本定向到该 Ip的子域名服务器。
“他们在测试解析速度,估计要明天才正式启用。”
凌晨四点十七分,办公室的日光灯管突然闪烁。
老谭正用 VbScript写批量注册工具,键盘声像春蚕啃食桑叶。
我的目光扫过房地产域名列表,万科和保利的国际域名都已标上绿色对勾。
唯独碧桂园的国内域名还亮着黄灯。
“berry,借你的代理服务器用用。”
我扯开第二罐可乐,“广东本地 Ip抢注成功率比境外高 37%,这是上周统计的。”
她抛来一个写着密码的便签:“刚从电信机房拖回来的专线,延迟低于 200毫秒。”
当碧桂园的国内顶级域名的注册成功页面弹出时,东方泛起鱼肚白。
老谭瘫在转椅上,举着保温杯敬天花板:“这是本月拿下的第 137个行业域名。”
而此时,网益通行证的开发正陷入泥潭。
“用户数据库必须打通。”
技术总监jackson把七份不同格式的表结构摔在会议桌上,咖啡渍晕染了“游戏用户表”三个字。
“邮箱用的是 oracle,门户用 mySqL,游戏居然还在用 Access!”
我盯着白板上的数据流图,指尖划过“用户认证”模块:“可以做中间件适配,用 cGI脚本统一接口格式。”
berry突然用笔圈住“密码传输”四个字:“上周抓包发现,有三个明文传输的请求被截获了。”
她把打印出来的数据包拍在桌上,黑色的十六进制代码里藏着一串清晰可见的密码。
“必须用 md5加密,加盐值。”
老谭蹲在服务器机柜前,扯出一团缠绕的网线:“同步延迟才是大问题。”
他指着屏幕上的监控数据,“邮箱注册成功后,游戏端要等 47秒才能查到新用户,这期间会产生重复注册。”
他突然拍了一下脑袋,“加触发器!在 oracle里写存储过程,同步时自动往 mySqL和 Access里写数据。”
那天晚上,我们在机房睡了三个小时。
我蜷在服务器散热口旁,听着硬盘的转动声打盹,梦见无数个网益国际域名在屏幕上碎裂。
凌晨被冻醒时,发现老谭正用万用表测网线,berry则在笔记本上画 cookie有效期的流程图。
“会话管理得用时间戳。”
她把画满箭头的纸推给我,“用户登录时生成唯一标识,存在 cookie里,两小时自动失效。”
她突然划掉“两小时”三个字,“改成一小时,安全第一。”
11月 15日,通行证系统第一次联调。
当我用同一个账号登录邮箱、门户和刚上线的《大话西游》测试服时,整个开发组都在欢呼。
但十分钟后,警报声刺破了喜悦——游戏服务器突然批量宕机。
“是同步频率太高了!”
老谭盯着数据库监控面板,红色的事务量曲线冲破警戒值,“Access扛不住每秒 300次的查询请求。”
他突然拔掉游戏服务器的网线,“先做读写分离,把查询请求导到从库。”
我在应急方案上补了一条:“给 Access加索引,只同步必要字段。”
键盘声里混着 berry的尖叫,她发现有个境外 Ip正尝试暴力破解管理员密码。
“防火墙规则太宽松了!”
她疯狂点击鼠标,把那个 Ip段加入黑名单,“马上部署入侵检测系统,用特征码匹配异常登录行为。”
“这堆扫描件里有三分之一是假的。”
我把审核报告拍在老谭桌上,指着其中一份,“这个身份证号码是真的,但照片明显是拼上去的,边缘还有 pS痕迹。”
老谭正用 perl调试 ocR脚本,头也没抬:“我加了字符边缘检测。”
他敲下回车键,屏幕上跳出一串数字,“真证的印刷点阵密度是每英寸 300,pS的最多 150,脚本能自动筛掉。”
berry抱着扫描仪进来:“用户不会用扫描仪怎么办?”
她举起一份模糊的传真件,“这张连出生日期都看不清。”
我突然扯过电话线:“加语音验证环节。”
我在表单上画了个电话图标,“系统读身份证号后四位,用户对着听筒重复,用语音识别引擎比对。”
“modem又烧了两个。”
老谭踢了踢机房角落的设备,“用户集中在晚上七点打验证电话,线路全堵死。”
“用户骂我们占线半小时,其实是 modem不够用。”
berry正用 At指令调试新到的猫池:“我跟移动和联通都申请了短信网关。”
她调出指令集,“先发 6位数字验证码,10分钟内没输入就自动转电话回拨,这 8个 modem轮着转,分负载。”
“还是有用户收不到短信。”
我翻着故障记录,“深圳那边的基站延迟超过 3分钟。”
她突然在路由器上敲了串命令:“加个状态查询页面。”
屏幕上跳出信号强度条,“没收到的用户能看到短信排队位置,超过 5分钟自动重发。”
“这个用户说账号被盗,但连注册邮箱都记混了。”
我把修复工单推给老谭,“系统日志只存 30天,更早的记录查不到。”
老谭正在扩容存储阵列:“我把日志保存期扩到 180天了。”
他调出一条记录,“每个操作都标了客户端指纹,比如当时用的 IE5.0还是 Netscape4.7。”
berry拿着新设计的表单进来:“加了三个历史验证项。”
她指着其中一项,“让用户选注册时玩过的游戏,今年就那几款,蒙对的概率不到 1%。”
我看着测试账号通过验证,突然笑了:“这下骗子得先做足功课才行。”
当硝烟散尽,我们在茶水间煮泡面庆祝。
老谭举着叉子指向窗外:“看,cNNIc的新闻,中文域名注册量破百万了。”
我望着屏幕上整齐排列的域名证书,突然想起第一次向高层提议注册“网益.net”时的场景。
当时 cEo的钢笔在提案上敲了敲:“中文域名还没成气候。”
而现在,那些被我们抢注的域名,正像护城河般守护着网益的版图。
深夜的机房里,老谭又在写新的监控脚本,berry在测试新的加密算法,我则在优化通行证的同步机制。
远处的写字楼渐次亮起灯光,仿佛预示着这场域名大战还远未结束。
当第一缕阳光照进机房时,我突然明白了。
真正的战场从来不是域名本身,而是对互联网未来的判断。
我们抢注的不只是一串字符,更是通往用户的千万条道路。