查询密码保护
查询设计 •
2 次浏览
•
2025-11-29
查询密码保护
功能介绍
查询密码保护功能允许管理员为特定的查询模板设置访问密码,用户必须输入正确密码才能使用查询功能。这提供了额外的安全层,保护敏感数据的查询访问。
主要功能
- 密码保护开关:控制查询模板是否需要密码验证
- 访问密码设置:设置具体的访问密码
- 密码加密存储:使用安全的密码哈希算法存储密码
- 会话管理:密码验证成功后,在会话期间无需重复输入
使用方法
1. 启用密码保护
使用路径:查询设计器 → 设置标签页
- 进入查询设计器页面
- 选择要保护的查询模板
- 切换到"设置"标签页
- 找到"访问控制"区域
- 启用"启用密码访问"开关
- 在"访问密码"字段中输入密码
- 点击"保存设置"按钮
2. 访问受保护的查询
- 用户访问需要密码的查询模板
- 系统检测到查询需要密码保护
- 显示密码输入界面
- 用户输入正确的访问密码
- 点击"验证"按钮
- 验证成功后进入查询界面
- 在会话期间无需重复输入密码
3. 禁用密码保护
- 在查询设计器的设置页面
- 关闭"启用密码访问"开关
- 系统自动清空存储的密码
- 保存设置后密码保护被移除
使用路径
- 设置密码保护:查询设计器 → 设置标签页
- 密码验证页面:访问受保护的查询时自动跳转
- 执行查询:
/public/query_execute.php?template_id=查询ID
安全特性
1. 密码加密
- 使用
password_hash() 函数进行密码哈希
- 采用
PASSWORD_DEFAULT 算法(当前为 bcrypt)
- 每次密码更改都会重新生成哈希值
- 密码以加密形式存储在数据库中
2. 会话管理
- 密码验证成功后设置会话标志
- 使用模板ID作为会话键,避免冲突
- 会话期间无需重复验证密码
- 会话过期后需要重新验证
3. 访问控制
- 未验证密码时无法访问查询功能
- 密码错误时显示友好错误提示
- 提供返回导航,避免用户被困
- 支持多次尝试输入密码
应用场景
1. 内部数据查询
- 员工信息查询
- 财务数据查询
- 客户敏感信息查询
- 需要限制访问范围的数据查询
2. 合作伙伴访问
- 供应商数据查询
- 客户数据共享
- 第三方系统集成
- 需要临时授权的数据访问
3. 临时授权访问
- 临时项目数据查询
- 审计数据访问
- 紧急情况数据查询
- 需要时间限制的数据访问
密码管理
密码设置建议
- 使用强密码:包含字母、数字、特殊字符
- 定期更换:建议定期更换访问密码
- 避免简单密码:避免使用容易猜测的密码
- 安全存储:不要将密码明文存储或分享
密码重置
如果需要重置密码:
- 进入查询设计器
- 打开查询模板的设置页面
- 修改"访问密码"字段
- 保存设置即可
注意事项
- 密码管理:建议使用强密码,定期更换
- 用户体验:密码保护会增加访问步骤,适合对安全性要求较高的场景
- 系统维护:密码字段的添加是向后兼容的,现有查询模板默认不启用密码保护
- 会话过期:用户会话过期后需要重新输入密码
- 密码遗忘:如果忘记密码,需要管理员在查询设计器中重置
常见问题
Q: 密码验证失败怎么办?
A: 检查密码是否正确输入,确认密码保护功能已启用,验证数据库字段是否正确添加。
Q: 密码输入框不显示怎么办?
A: 检查JavaScript是否正常加载,确认"启用密码访问"开关已勾选,查看浏览器控制台是否有错误信息。
Q: 设置保存失败怎么办?
A: 检查数据库连接是否正常,确认用户权限是否足够,查看错误日志获取详细信息。
Q: 可以设置多个密码吗?
A: 目前一个查询模板只能设置一个密码,如需多个密码,可以创建多个查询模板。
Q: 密码会过期吗?
A: 密码本身不会过期,但用户会话会过期,过期后需要重新输入密码。