我允许我的用户喜欢更新或论坛主题。 所以当用户试图最喜欢其中的一个时,我会通过Ajax 2发送东西,item_id(更新或主题)作为id(例如1321313213)及其类型(“update”或“topic”)作为字符串。如何防止用户通过ajax请求中的萤火虫更改变量
但是可以说某人试图喜欢用id更新不变,但类型更改为“主题”(通过萤火虫或任何其他)...
这不应该procceed,因为这个组合是不正确的...我如何确保发送的item_id是更新或主题,因为这个ID可能共存于两个表中?
当前的解决方案:
创建隐藏的输入元素,并添加作为值5个随机字符(A-ZA-Z0-9)和MD5类型名称(更新或主题)
像:
$random_str = $this->my_model->generateRandomString(5);
<input type="hidden" value="<?php echo $random_str.md5("update"); ?>" id="type" />
所以当我尝试验证数据判断是否为i的前5个字符分割类型的更新或主题和更高,并检查后的字符是MD5散列是更新或主题并继续验证
我想一些帮助的情况下,这也可被改变......
当然我从来没有回复的javascript数据这就是为什么我总是验证它们,以及通过PHP ...但是这一次我无法找到一种方法来验证发送的ID是更新还是主题,因为这个ID在将来不会在这两个表中共存......并且我也不能发送任何可以帮助验证的事情,因为这可以被修改以及... – fxuser 2012-03-04 09:24:10
在这种情况下,我建议你添加一个标识符来告诉PHP“这是一个更新”。如果该标识符不存在,则中止。 – rodneyrehm 2012-03-04 09:25:53
你可以更具体一点吗?我也可以做的不是做1个函数中的1个Ajax调用...我可以创建2个独立的函数和1个调用更新函数,另一个调用主题函数,也可以解决问题 – fxuser 2012-03-04 09:32:26