全部学科
NodeJS全栈
nodejs
Python全栈
python
小程序首页
📝 1 篇文章 20 道配套习题

安全与数据保护专题

专题说明

本专题深入讲解GORM中的安全与数据保护机制,涵盖SQL注入防护、敏感数据加密存储、数据脱敏、审计日志等企业级安全实践,帮助开发者构建安全可靠的数据库应用。

学习目标

  1. 掌握GORM防止SQL注入的机制与最佳实践
  2. 学会使用bcrypt等算法进行敏感数据加密存储
  3. 理解数据脱敏、审计日志等高级安全特性的实现方式

学习内容

本专题涵盖以下知识点:

  • SQL注入防护机制与参数绑定
  • 敏感数据加密存储(bcrypt、AES等)
  • 数据脱敏与隐私保护
  • 审计日志与操作追踪
  • 数据库访问权限控制

学习建议

  1. 先理解SQL注入原理,再学习GORM的防护机制
  2. 重点掌握bcrypt密码哈希的实际应用
  3. 结合实际项目场景,思考数据保护策略

📝 发现内容有误?点击此处直接编辑

📝 配套习题(20 题)

1
单选题

在 GORM 中,以下哪种方式最能有效防止 SQL 注入攻击?

A

使用字符串拼接构建查询条件

B

使用 Raw SQL 直接执行用户输入

C

使用 GORM 的 Where 方法配合占位符参数(?)

D

对用户输入进行 HTML 转义

2
多选题

在 GORM 中,以下哪种方式最能有效防止 SQL 注入攻击?

A

使用字符串拼接构建查询条件

B

使用 Raw SQL 直接执行用户输入

C

使用 GORM 的 Where 方法配合占位符参数(?)

D

对用户输入进行 HTML 转义

3
判断题

在 GORM 中,以下哪种方式最能有效防止 SQL 注入攻击?

A

B

4
单选题

在 GORM 中实现敏感数据(如密码)存储时,最佳实践是什么?

A

使用 Base64 编码后存储

B

使用 MD5 哈希后存储

C

使用 bcrypt 等安全哈希算法

D

明文存储,传输时加密

5
多选题

在 GORM 中实现敏感数据(如密码)存储时,最佳实践是什么?

A

使用 Base64 编码后存储

B

使用 MD5 哈希后存储

C

使用 bcrypt 等安全哈希算法

D

明文存储,传输时加密

6
填空题

在 GORM 中实现敏感数据(如密码)存储时,最佳实践是什么?

7
单选题

在 GORM 中实现数据脱敏(如手机号中间四位显示为****),应该在哪个时机处理?

A

在 BeforeCreate 回调中处理

B

在 AfterFind 回调中处理

C

在数据库层面使用视图

D

在 BeforeSave 回调中处理

8
多选题

在 GORM 中实现数据脱敏(如手机号中间四位显示为****),应该在哪个时机处理?

A

在 BeforeCreate 回调中处理

B

在 AfterFind 回调中处理

C

在数据库层面使用视图

D

在 BeforeSave 回调中处理

9
判断题

在 GORM 中实现数据脱敏(如手机号中间四位显示为****),应该在哪个时机处理?

A

B

10
单选题

关于 GORM 的 权限与审计日志,以下说法正确的是?

A

权限与审计日志 是 GORM 的核心功能之一

B

权限与审计日志 只能在特定数据库中使用

C

权限与审计日志 需要手动配置才能启用

D

权限与审计日志 已被 GORM v2 废弃

11
单选题

在 GORM 中实现数据脱敏(如手机号中间四位显示为****),应该在哪个时机处理?

A

在 BeforeCreate 回调中处理

B

在 AfterFind 回调中处理

C

在数据库层面使用视图

D

在 BeforeSave 回调中处理

12
多选题

在 GORM 中实现数据脱敏(如手机号中间四位显示为****),应该在哪个时机处理?

A

在 BeforeCreate 回调中处理

B

在 AfterFind 回调中处理

C

在数据库层面使用视图

D

在 BeforeSave 回调中处理

13
判断题

在 GORM 中实现数据脱敏(如手机号中间四位显示为****),应该在哪个时机处理?

A

B

14
填空题

在 GORM 中实现数据脱敏(如手机号中间四位显示为****),应该在哪个时机处理?

15
单选题

在 GORM 中实现数据脱敏(如手机号中间四位显示为****),应该在哪个时机处理?

A

在 BeforeCreate 回调中处理

B

在 AfterFind 回调中处理

C

在数据库层面使用视图

D

在 BeforeSave 回调中处理

16
多选题

在 GORM 中实现数据脱敏(如手机号中间四位显示为****),应该在哪个时机处理?

A

在 BeforeCreate 回调中处理

B

在 AfterFind 回调中处理

C

在数据库层面使用视图

D

在 BeforeSave 回调中处理

17
单选题

在 GORM 中实现数据脱敏(如手机号中间四位显示为****),应该在哪个时机处理?

A

在 BeforeCreate 回调中处理

B

在 AfterFind 回调中处理

C

在数据库层面使用视图

D

在 BeforeSave 回调中处理

18
多选题

在 GORM 中实现数据脱敏(如手机号中间四位显示为****),应该在哪个时机处理?

A

在 BeforeCreate 回调中处理

B

在 AfterFind 回调中处理

C

在数据库层面使用视图

D

在 BeforeSave 回调中处理

19
填空题

在 GORM 中实现数据脱敏(如手机号中间四位显示为****),应该在哪个时机处理?

20
单选题

在 GORM 中实现数据脱敏(如手机号中间四位显示为****),应该在哪个时机处理?

A

在 BeforeCreate 回调中处理

B

在 AfterFind 回调中处理

C

在数据库层面使用视图

D

在 BeforeSave 回调中处理

← 上一个专题 分库分表与多租户专题
下一个专题 → 性能优化与调优专题

📝 发现内容有误?点击此处直接编辑

想查看更多习题和详细解析?
小程序提供完整的题库和详细解析

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库