首页课程小红花墙

计算机原理 · 小纸条

选一章打印。双面打印(按长边翻页)后沿虚线剪开,每张卡片正面题目、背面答案。

第 1 章30第 2 章30第 3 章30第 4 章30第 5 章30第 6 章30第 7 章30第 8 章30第 9 章30第 10 章30第 11 章30第 12 章30第 13 章30第 14 章30第 15 章30第 16 章30第 17 章30第 18 章30第 19 章30第 20 章30第 21 章30第 22 章30第 23 章30第 24 章30第 25 章30第 26 章30第 27 章30第 28 章30第 29 章30第 30 章30第 31 章30第 32 章30第 33 章30第 34 章30第 35 章30第 36 章30第 37 章15
只印题目
第 1 页 · 正面(题目)
1领域特定语言

举三个例子。

2内部与外部 DSL

各有什么取舍?

3动手:设计一个 DSL

写出它的文法。

4动手:实现解析器

动手实现。

5动手:加校验

动手实现。

6工具帮你守纪律

你的项目里有哪些规则该自动化?

7语言设计的取舍

举一个你熟悉的语言的取舍。

8没有最好的语言

给三个场景各选一门语言并说理由。

9学新语言的方法

用这四个维度描述一门你会的语言。

10语言理论自查(一)

写下你的答案,每个概念三句话。

第 1 页 · 背面(答案)

参考答案(家长):内部省事但受宿主语法限制,外部自由但要维护解析器。

参考答案(家长):查询语言、正则表达式、构建脚本、样式表。

参考答案(家长):复用你在编译原理里写过的框架。

参考答案(家长):几条产生式就够,简单的格式不需要复杂文法。

参考答案(家长):格式、命名、必填字段、提交前测试。

参考答案(家长):这正是内容生产该有的自动化质量门。

参考答案(家长):理由要落在场景约束上,而不是喜好。

参考答案(家长):如手动内存管理换性能,垃圾回收换省心。

参考答案(家长):说不出"解决什么问题",就是还没真懂。

参考答案(家长):能说清就说明你理解的是语言而不只是语法。

第 2 页 · 正面(题目)
11语言理论自查(二)

写下你的答案。

12这门课的现实价值

想一个你曾经"不懂编译器为什么报错"的经历。

13把它用回自己的代码

动手改一处。

14阶段小结

说说你对"语言"的看法有什么变化。

15学安全的前提

把这条记牢。

16攻防的不对称

纵深防御是什么意思?

17威胁建模

给一个校园成绩系统做威胁建模。

18攻击面

怎么减小攻击面?

19信任边界

前端校验够不够?

20注入攻击的本质

那根本解法是什么?

第 2 页 · 背面(答案)

参考答案(家长):现在多半能解释了。

参考答案(家长):最后一问要提到莱斯定理。

参考答案(家长):常见的答案是"语言是工具,也是一种约束你少犯错的机制"。

参考答案(家长):改完会发现一批运行时检查可以删掉了。

参考答案(家长):多层防线,一层被突破还有下一层。

参考答案(家长):合法的练习场是靶场、CTF 比赛、自己搭的环境。

参考答案(家长):关掉不用的端口和功能、限制访问来源、减少暴露的接口。

参考答案(家长):攻击者可能是学生,目标是改分,入口是登录和接口。

参考答案(家长):让数据永远走数据通道,不和代码拼接在一起。

参考答案(家长):不够,前端在用户手里,能被绕过,服务端必须再验一遍。

第 3 页 · 正面(题目)
21SQL 注入

怎么彻底防住?

22为什么转义不如参数化

这体现了什么原则?

23跨站脚本

怎么防?

24输出编码要看上下文

为什么不能统一处理?

25内容安全策略

这属于哪一层防御?

26跨站请求伪造

怎么防?

27同源策略

跨域请求怎么合法进行?

28跨域配置的坑

正确做法是什么?

29认证与授权

只做认证不做授权会怎样?

30越权漏洞

怎么防?

第 3 页 · 背面(答案)

参考答案(家长):靠机制而不是靠人细心。

参考答案(家长):用参数化查询,数据库把参数只当值,绝不当语法。

参考答案(家长):每种上下文的危险字符不同,用错了等于没防。

参考答案(家长):输出时按上下文正确编码,并配合内容安全策略。

参考答案(家长):用一次性令牌,或者限制凭证在跨站请求时不发送。

参考答案(家长):纵深防御的第二层,前一层失守时兜底。

参考答案(家长):明确列出允许的来源白名单。

参考答案(家长):目标站明确声明允许,这就是跨域资源共享机制。

参考答案(家长):每次访问都校验这条数据是否属于当前用户。

参考答案(家长):任何登录用户都能访问任何数据。

op599 课程