【发布时间】:2023-03-05 12:03:02
【问题描述】:
我在 Sessions 中使用用户管理脚本
会话对象 $loggedInUser 包含以下属性:
$loggedInUser->email
$loggedInUser->user_id
$loggedInUser->hash_pw
$loggedInUser->clean_username
用户可以通过 POST 从 'form.php' 提交数据到 处理脚本'process.php'
'form.php' 可以访问前面提到的 Session 对象。 这是当前在发送表单时提交的 Cookie:
PHPSESSID=7ec81164c9fb2cdc4c6f47a00bc2ae50
问题:
如何保护 'process.php' 以确保只允许登录用户提交数据?
*据我所知,'process.php' 只能由我的服务器而不是用户访问,因此我必须通过 Cookie、Get 或 Post 提交会话对象都很容易被篡改,对吗?*
如果合适,您会以何种方式使用提交的 Cookie 或检查验证?
ATM 很容易,知道 'process.php' 的路径,在没有登录状态的情况下“伪造”提交。
感谢经验丰富的程序员的一些智慧之言 :)。
【问题讨论】:
-
是否建议将表单发送到 PHP_SELF,在那里我可以将 INSERT 包装到基于 SESSIONS 的条件中?
标签: php mysql security session cookies