防止使用PHP会话编辑字段


Prevent field editing using PHP session

使用PHP会话变量来防止用户编辑隐藏/输入字段值是个好主意/好做法吗?例如,假设我有以下字段:

<input type="hidden" object_id="1" />
<input type="text" object_id="2" />
etc...

我需要在前端有object_id,这样我就可以在用户提交时判断哪些数据库条目需要操作(前提是他们有权对数据进行操作)。$_SESSION变量看起来类似于[obj_id = 1, obj_id = 2]。授权过程的一部分确保用户试图操作的所有条目都存在于会话中。如果存在一些差异(例如,具有object_id="3"的元素),则用户未被授权。

是否有更广泛接受的解决方案,或者类似的解决方案通常就足够了?

通常,您仍然需要相信最终用户会为您提供要修改的正确数据。在该上下文中唯一可以验证的是,提供的值看起来像是要插入数据库的有效数据,这通常是数据库作业本身,因为什么是有效数据是要确定的数据库表的状态。

有很多方法可以解决这个问题。除非我对你想做的事情有更多的了解,否则我无法提供一个合理详细的解决方案。

祝好运