举三个例子。
计算机原理 · 小纸条
选一章打印。双面打印(按长边翻页)后沿虚线剪开,每张卡片正面题目、背面答案。
各有什么取舍?
写出它的文法。
动手实现。
动手实现。
你的项目里有哪些规则该自动化?
举一个你熟悉的语言的取舍。
给三个场景各选一门语言并说理由。
用这四个维度描述一门你会的语言。
写下你的答案,每个概念三句话。
参考答案(家长):内部省事但受宿主语法限制,外部自由但要维护解析器。
参考答案(家长):查询语言、正则表达式、构建脚本、样式表。
参考答案(家长):复用你在编译原理里写过的框架。
参考答案(家长):几条产生式就够,简单的格式不需要复杂文法。
参考答案(家长):格式、命名、必填字段、提交前测试。
参考答案(家长):这正是内容生产该有的自动化质量门。
参考答案(家长):理由要落在场景约束上,而不是喜好。
参考答案(家长):如手动内存管理换性能,垃圾回收换省心。
参考答案(家长):说不出"解决什么问题",就是还没真懂。
参考答案(家长):能说清就说明你理解的是语言而不只是语法。
写下你的答案。
想一个你曾经"不懂编译器为什么报错"的经历。
动手改一处。
说说你对"语言"的看法有什么变化。
把这条记牢。
纵深防御是什么意思?
给一个校园成绩系统做威胁建模。
怎么减小攻击面?
前端校验够不够?
那根本解法是什么?
参考答案(家长):现在多半能解释了。
参考答案(家长):最后一问要提到莱斯定理。
参考答案(家长):常见的答案是"语言是工具,也是一种约束你少犯错的机制"。
参考答案(家长):改完会发现一批运行时检查可以删掉了。
参考答案(家长):多层防线,一层被突破还有下一层。
参考答案(家长):合法的练习场是靶场、CTF 比赛、自己搭的环境。
参考答案(家长):关掉不用的端口和功能、限制访问来源、减少暴露的接口。
参考答案(家长):攻击者可能是学生,目标是改分,入口是登录和接口。
参考答案(家长):让数据永远走数据通道,不和代码拼接在一起。
参考答案(家长):不够,前端在用户手里,能被绕过,服务端必须再验一遍。
怎么彻底防住?
这体现了什么原则?
怎么防?
为什么不能统一处理?
这属于哪一层防御?
怎么防?
跨域请求怎么合法进行?
正确做法是什么?
只做认证不做授权会怎样?
怎么防?
参考答案(家长):靠机制而不是靠人细心。
参考答案(家长):用参数化查询,数据库把参数只当值,绝不当语法。
参考答案(家长):每种上下文的危险字符不同,用错了等于没防。
参考答案(家长):输出时按上下文正确编码,并配合内容安全策略。
参考答案(家长):用一次性令牌,或者限制凭证在跨站请求时不发送。
参考答案(家长):纵深防御的第二层,前一层失守时兜底。
参考答案(家长):明确列出允许的来源白名单。
参考答案(家长):目标站明确声明允许,这就是跨域资源共享机制。
参考答案(家长):每次访问都校验这条数据是否属于当前用户。
参考答案(家长):任何登录用户都能访问任何数据。