0

我想知道设置跟随的最佳方法。

我有一个动态表单,一旦用户完成添加他们的数据,它可能会变得很长。我希望设置的是一个后台进程,它将他们拥有的数据保存到数据库中。

我设置的是一个 settimer 函数,它会检查问题是否处于已保存状态,如果未将其添加到要保存的问题列表中。然后它会触发一个使用 php 发布到我的数据库的 ajax 调用。第一次发生这种情况时,ajax 将返回提交的 id,以便表单知道将这些发布到哪里。

第二次运行 set timer 函数时,它会传递这个 id。

我最大的问题是我不希望用户知道表 ID。我只是在想有人可以弄乱 javascript 并很容易地将他们的结果提交给其他 id。

我只是想知道是否有更好的方法来实现这一目标?甚至一些例子?

谢谢

4

1 回答 1

2

一般来说,您应该将服务器端的 ID 保存在一个$_SESSION变量中,并且永远不要让它靠近客户端。或者,表格可能包含足够可识别的信息,以便能够根据某些UNIQUE索引确定相关记录。

但是,如果您愿意,您还可以添加一些加密身份验证来证明该 ID 未被用户更改。例如,除了 ID 本身之外,还向客户端返回 ID 的安全散列和一些秘密;当客户端将 ID 和该哈希都发回您的服务器时,您可以与重新计算的哈希版本进行比较,以检查是否只有知道秘密的人(即您)才能向客户端提供该 ID。

为了击败更复杂的攻击,您可能需要添加一些盐:

$salt = some_random_string();
$hash = md5( md5($secret) . md5($id) . md5($salt) )

然后将哈希、ID和盐发送给客户端;所有这三个它将返回给您进行验证。

于 2012-05-14T10:44:21.577 回答