站点安全别只盯着代码:MDN 教不会你的那半边,藏在服务器选型里

2026-10-29 13:46 1026 次浏览

照着 MDN 的入门模块走完一遍,HTML 能写、CSS 能排、JavaScript 能跑出一个待办清单,很多人到这一步就以为站点已经「做完了」。真把站挂上线,第一个星期就可能遇到证书过期、后台被扫、表单被人灌垃圾。这些问题在 MDN 的目录里翻不到答案,因为它们不在代码层,而在你脚下那台机器上。站点安全这件事,一半靠你写出来的代码,另一半靠你选的那台服务器和它所在的机房。前半边 MDN 讲得足够细,后半边得自己补。

MDN 把前端教明白了,服务器这半边它不讲

MDN 从 2026年算起已经积累了 4.5 万多篇文档、5 万多名贡献者,HTML、CSS、JavaScript 的语法细节几乎查得到任何一条。它的课程结构也很清楚:先装编辑器、跑通第一个网站,再进 HTML 构建内容、CSS 做样式、JavaScript 加交互,最后讲发布和无障碍。

问题出在「发布你的网站」那一节。教程会告诉你怎么把文件传上去,但不会告诉你上线之后每天有多少只爬虫在扫 /wp-login.php,也不会告诉你 80 和 443 之外还开着哪些端口。

我一般会这样划分:MDN 负责让你把东西做出来,站点安全负责让它活下来。两件事都得做,但学习路径完全不同。前者可以靠看文档,后者更多靠选型和配置习惯。

代码层能做的,MDN 里其实已经埋了线索

MDN 的课程里有两块内容,很多人学的时候当成选修跳过去了,其实直接对应站点安全。

  • 表单数据校验那一章:客户端校验只是体验,服务端不校验等于门没锁。
  • 无障碍与 WAI-ARIA 那一块:语义化标签写对了,注入类攻击能钻的空子会少很多。

这两块不需要额外买什么,纯粹是写代码时多花的时间。代价是开发周期会拉长,一个表单可能要来回改两三遍;换回来的是上线后少一类常见漏洞。

但代码写得再干净,也挡不住流量层面的攻击。有人拿几千个 IP 同时压你的登录接口,或者直接对 IP 发 SYN Flood,这时候前端校验、转义、CSP 全都不在链路上。

真正烧钱的地方在机房这一层,选错就得整套重来

站点安全的成本大头不在写代码,在基础设施。这也是最容易选错的一步。

普通独立服务器和带防护的机器,价格差距不小。以秀米云的配置为例,香港自营国际物理服务器⑤是 E5-2686V4 十八核三十六线程、32G 内存、100M 带宽,月付 1050 元;同样在香港机房,香港高防独立服务器 E3-1230只有 8G 内存、10M 带宽,月付 164.05 美元,硬件规格低了一截,价格却没便宜到哪去。

多出来的钱买的是清洗能力。10M 带宽看着小,但攻击流量在进机房之前就被拦掉了,真正打到你这台机器上的只有正常请求。这就是取舍:要么用高配机器硬扛,要么用低配机器加一道防护墙。前者适合流量大但攻击少的业务,后者适合被盯上的站点。

判断标准我一般看两点:站点有没有登录入口和支付环节,以及过去有没有被扫过。两条都占,防护就得提前上;一条不占,普通机器加好防火墙规则也能撑。

HTTPS 不是配完就完事,证书和端口才是长期活儿

MDN 在讲「浏览器如何加载网站」时提过 HTTPS 的基本原理,但配置这件事得自己动手。三个地方最容易出问题。

  • 证书自动续期:忘了续,到期当天全站报错,用户直接走光。
  • 端口暴露:管理后台的端口对公网开着,等于把钥匙插在门上。
  • 日志留存:出事后没有访问日志,连攻击从哪来都查不到。

这三件事都不难,难在坚持。我的做法是把证书续期做成定时任务,后台端口只允许固定 IP 访问,日志至少留 30 天。花的时间不多,但能在关键时刻省下大麻烦。

如果站点面向国内用户又要免备案,香港机房是常见选择,延迟通常能压到几十毫秒。面向欧美用户的话,美国硅谷机房的线路更顺,像美国硅谷大带宽服务器 II这种 G 口配置,月付 208.50 美元,适合流量型站点做前置。

给不同阶段的站点一句能直接执行的结论

刚学完 MDN 课程、站点还在本地跑:先别急着买机器,把表单校验和语义化标签补完,这两件事零成本。

站点已经上线、有登录功能、预算有限:选香港高防独立服务器这类带清洗的方案,把防护交给机房,自己专注代码层。

流量大但没被攻击过:普通物理服务器加严格防火墙规则就够,省下的钱投到带宽上更划算。

已经被打过、或者业务涉及交易:别赌运气,防护等级往上一档,这笔钱省不得。

站点安全没有一劳永逸的配置,只有一层层叠上去的习惯。MDN 教你写出能跑的代码,剩下的那半边,得靠选型和日常维护补上。