我无法通过我的研究找到任何材料来解决模型,它们都是实现 - 我问这个问题是为了理解,而不是盲目地使用别人的 CMS 或你有什么。
我正在尝试为我的 PHP 网站开发一个管理模型,以保护典型的管理功能和自动数据库更新脚本(每天运行一次),但到目前为止,我的想法没有证据支持或反对它们。我宁愿问你们也不愿冒险——所以请不要惩罚。
示例结构:
/htdocs
-- index.php
-- /templates
-- about.php
/php-files
-- auth.php
目前:
- 通过返回(保证的)唯一 ID 的 API 处理用户身份验证,然后将其 bcrypt 并通过 auth.php 存储在 Redis 键值数据库中
细化
我遇到的问题是想出一种方法来唯一地识别管理员而不公开透露我的管理门户admin.domain
等domain/admin
......
假设上面的模型可以安全地实现这一点吗?
- Redis 键值包含经过身份验证的用户,以及他们的唯一 ID。
- 进度数据库包含具有属性的单个关系:
ID
,admin
. - 在访问
admin.domain
等时domain/admin
...用户像往常一样使用 Redis 进行身份验证,如果失败,则使用 .htaccess 提供和处理 404 以看起来像任何旧的 404 错误。 - 如果先前成功,则存储在 Redis 中的唯一 ID 会根据 Postgress
ID
属性检查admin
,如果admin = true
用户是管理员并且admin.php
可以包含管理控制面板进行显示,则无需进一步登录。
如上所述保护的这个门户是否是一个安全的地方,可以包含自动更新整个数据库的脚本,或者有没有一种方法可以在文档根目录之上执行它们而无需在文档根目录之下进行任何干预?