当前位置: 首页 > 面试题库 >

如何防止用户通过Ajax请求中的Firebug更改变量

欧桐
2023-03-14
问题内容

我允许我的用户收藏更新或论坛主题。因此,当用户尝试收藏其中之一时,我将通过Ajax
2发送东西,其中item_id(更新或主题)为id(例如1321313213),其类型(“ update”或“ topic”)为字符串。

但是,可以说有人尝试使用ID不变但喜欢的更新,但类型更改为“主题”(通过Firebug或其他方法)…

由于此组合不正确,因此不应进行此操作…由于该ID可能在两个表中共存,我如何确保发送的item_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" />

因此,当我尝试验证数据以检查它是否为更新或主题时,我将类型拆分为前5个字符,然后再检查是否对以后的字符进行了md5哈希更新或主题并继续验证

我希望得到一些帮助,以防这种情况也可以更改。


问题答案:

您的服务器端脚本(PHP)必须始终假定它正在获取虚假数据。切勿仅依靠javascript来处理任何清理/验证。

如果您的JavaScript可以确定作业是“更新”还是“主题”,那么我确定您的PHP也可以做到。可能使用更多的数据库查询或类似的查询,但这就是您要付出的代价。



 类似资料:
  • 问题内容: 我在Firefox 14.0.1中使用Firebug 1.10.2。显示网页时,Firebug附加组件具有以下“行为”: 根据Ajax请求,Firebug的“已中止”消息 。 我应该怎么做?是否由于存在某些错误而必须改进我的Web应用程序是否非常危险,或者是Firebug错误或其他原因? 问题答案: 请在此处查看XHR open()的文档示例:https : //developer.m

  • 问题内容: 当我使用Firebug 1.5时,在某些Ajax请求中收到200个ABORTED错误。您可以在此演示页面上通过键入文本字段来看到这种情况。即使出现这些错误,该网站的功能似乎也可以正常工作。简单地忽略这些错误是否安全? 此检票口邮件列表线程似乎表明检票口ajax代码正在执行应做的工作。此外,此萤火虫问题似乎表明可能存在一些担忧。不知道该怎么想。 问题答案: 听起来像是中止对已经返回OK的

  • 问题内容: 我正在使用JQuery向我自己的Web服务发出AJAX请求。我需要为HTTP-AJAX-Request 设置或修改HTTP- Header,如何才能最简单地做到这一点? 我尝试了某些用户提供的使用方法来设置User- Agent的提示,但这不起作用。实际上,它确实适用于其他新创建的标头(如),但不适用于。 谢谢! 问题答案: 这完全是不可能的,不允许您更改XMLHttpRequests

  • 问题内容: 如何从firebug控制台或显示ajax调用的任何内容隐藏ajax请求? 问题答案: 进行JSONP调用。JSONP调用不是真正的ajax请求(因为它们不使用对象,而只是将脚本标签注入DOM)。但是它们不会在Firebug中显示。

  • 问题内容: 我正在使用jquery发出ajax请求 如何手动停止我的特定Ajax请求? 问题答案: 该方法返回一个可以用于执行此操作的对象: 然后,当您想停止请求时:

  • 本文向大家介绍防止重复发送 Ajax 请求,包括了防止重复发送 Ajax 请求的使用技巧和注意事项,需要的朋友参考一下 要考虑并理解 success, complete, error, timeout 这些事件的区别,并注册正确的事件,一旦失误,功能将不再可用; 不可避免地比普通流程要要多注册一个 complete 事件; 恢复状态的代码很容易和不相干的代码混合在一起; 推荐用主动查询状态的方式(