阶段十 · 安全与测试(本课导读)

课程定位:守住「质量」与「安全」两道底线。测试保证你交付的东西「不出错」,安全保证它「不被攻破」。这是高级工程师的责任心所在,也是大厂岗位的硬要求。 前置条件:阶段三(网络、HTTP 必学)+ 阶段五(后端工程)。 时长建议:1~2 个月(可与阶段七、八并行)。


一、开场案例:你的系统,是不是「裸奔」的?

小白问老师:「老师,我的网站上线了,也没人攻击啊,安全重要吗?」

老师没回答,打开小白的网站,熟练地在输入框里敲了一串东西:<script>alert('你被黑了')</script>,点击提交——小白的页面上弹出了弹窗。

小白:「!!!”」

老师:「这就是 XSS(跨站脚本攻击)——你的网站把我写的脚本当代码执行了。如果这串脚本是『偷取用户 Cookie 发给黑客』,你的用户账号就全完蛋了。再看你的登录接口——SELECT * FROM users WHERE name='+输入+',我在用户名里输入 ' OR 1=1 --,你的登录验证就形同虚设,这就是 SQL 注入。」

小白:「我以为没人会这么干……」

老师:「黑客不会因为你『没想到』就不来。安全的本质是:默认一切输入都不可信。这一阶段,学怎么防、怎么测——测出 100 个 bug 的价值,和写出 100 个功能的价值,是一样的。」

案例启示:某大厂因一个未授权访问漏洞,核心数据泄露,股价暴跌;另一个团队上线前做了安全测试,提前堵住漏洞。安全不是运气,是工程——把「攻防思维」变成你写代码时的条件反射。


二、这一阶段学什么?

模块对应课程核心收获
Web 安全Web 安全攻防实战 ★、Web 漏洞挖掘实战OWASP Top 10、攻防实战
密码学实用密码学 ★加密、哈希、证书
认证授权OAuth 2.0 实战课 ★授权协议
测试体系软件测试 52 讲 ★、程序员的测试课测试方法论
自动化测试自动化测试高手课 ★、Selenium 自动化测试实战、移动端自动化测试实战自动化框架
攻防对抗反爬虫兵法演绎 20 讲反爬与爬虫对抗(合规视角)

三、怎么学最有效?

  1. 搭一个「靶场」练手:用 DVWA 或本地小项目,亲手打一遍 XSS、SQL 注入、CSRF——「打过」才知道「怎么防」。
  2. 测试要「写出来」:别只背测试理论,给你的项目写单测、集成测试、端到端测试,跑通一条流水线。
  3. 安全要「形成清单」:把 OWASP Top 10 记成 checklist,每次写代码对照一遍。
  4. 带着「坏人视角」写代码:每写一个输入处理,就问自己「如果输入是恶意的会怎样」。

四、学完检验(自测清单)

  • 能说出 OWASP Top 10 中最常见的 5 种漏洞及防御方法
  • 能解释 XSS、SQL 注入、CSRF 的原理并写出防御代码
  • 能说出对称加密/非对称加密/哈希的区别与典型应用
  • 能解释 OAuth 2.0 的授权码流程
  • 能写出单元测试、集成测试,并跑通自动化测试流水线
  • 能说出测试金字塔模型,并解释各层比例

全打勾,进入 11_阶段十一_产品管理与软技能/——最后一课,实现职业跃迁。