GVKun编程网logo

如何防止用户通过Ajax请求中的Firebug更改变量(如何防止ajax接口暴露)

5

针对如何防止用户通过Ajax请求中的Firebug更改变量和如何防止ajax接口暴露这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展Ajax请求中的jQueryAjax请求、Extjs4aj

针对如何防止用户通过Ajax请求中的Firebug更改变量如何防止ajax接口暴露这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展Ajax请求中的jQuery Ajax请求、Extjs4 ajax请求在firebug提示aborted、Firebug 1.5显示200个Ajax请求已中止、javascript – Chrome的firebug用于跟踪ajax请求的技术等相关知识,希望可以帮助到你。

本文目录一览:

如何防止用户通过Ajax请求中的Firebug更改变量(如何防止ajax接口暴露)

如何防止用户通过Ajax请求中的Firebug更改变量(如何防止ajax接口暴露)

我允许我的用户收藏更新或论坛主题。因此,当用户尝试收藏其中之一时,我将通过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哈希更新或主题并继续验证

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

Ajax请求中的jQuery Ajax请求

Ajax请求中的jQuery Ajax请求

是否可以在另一个ajax请求中发出一个ajax请求?因为我需要来自第一个ajax请求的一些数据才能发出下一个ajax请求。

首先,我使用Google Maps API获取LAT和LNG,然后再使用该LAT和LNG请求Instagram API(基于搜索的位置)。

再有可能吗?如果可以,怎么办?

$(''input#search'').click(function(e){    e.preventDefault();    var source=$(''select[name=state] option:selected'').text()+'' ''+$(''select[name=city] option:selected'').text()+'' ''+$(''select[name=area] option:selected'').text();    var source=source.replace(/ /g, ''+'');    if(working==false){        working=true;        $(this).replaceWith(''<span id="big_loading"></span>'');        $.ajax({            type:''POST'',            url:''/killtime_local/ajax/location/maps.json'',            dataType:''json'',            cache: false,            data:''via=ajax&address=''+source,            success:function(results){                // this is where i get the latlng            }        });    } else {        alert(''please, be patient!'');    }});

答案1

小编典典

这是一个例子:

$.ajax({        type: "post",        url: "ajax/example.php",        data: ''page='' + btn_page,        success: function (data) {            var a = data; // This line shows error.            $.ajax({                type: "post",                url: "example.php",                data: ''page='' + a,                success: function (data) {                }            });        }    });

Extjs4 ajax请求在firebug提示aborted

Extjs4 ajax请求在firebug提示aborted

注意:使用的Extjs版本为4.2.1

本人在程序中有个store使用了AjaxProxy,先看看“愚蠢”的代码:

var chartstore = Ext.create("Ext.data.Store",{ model: "ChartModel",proxy: { type: "ajax",timeout: Number.MAX_VALUE,//这个程序是大量数据分析,所以我随手就设了这个最大值 url: "XXX/Data",reader: { type: "json",root: "data" } },autoLoad: true,listeners: { beforeload:function(store,operation,eOpts){ },load:function(chartstore,records,successful,eOpts){ } } });

Web程序是用来像服务器请求大数据处理的结果,由于有的时候数据量会很庞大,所以我修改了AjaxProxy的响应等待延迟时间配置"timeou",随手就改成Ext Number的最大值。上述代码在opera中执行获取数据没有问题,IE和Firefox均无法获取,而且是未经任何处理延迟直接被阻止的感觉。在firebug中可以看到以下错误信息:

一开始没有想到是timeout的问题,不过找到了一个stackoverflow提问,链接:http://stackoverflow.com/questions/16921101/getting-aborted-error-for-ext-js-4-ajax-request-synchrnous-call,里面说到了timeout过大的问题。于是将timeout值改为84600000(一天的毫秒数)试试,成功。

每个浏览器对于“连接超时时间”应该都有个上界,比如IE的几个版本,http://support.microsoft.com/kb/181050。时间关系暂时先不找了。

Firebug 1.5显示200个Ajax请求已中止

Firebug 1.5显示200个Ajax请求已中止

当我使用Firebug
1.5时,在某些Ajax请求中收到200个ABORTED错误。您可以在此演示页面上通过键入文本字段来看到这种情况。即使出现这些错误,该网站的功能似乎也可以正常工作。简单地忽略这些错误是否安全?

此检票口邮件列表线程似乎表明检票口ajax代码正在执行应做的工作。此外,此萤火虫问题似乎表明可能存在一些担忧。不知道该怎么想。

答案1

小编典典

听起来像是中止对已经返回OK的请求。Firebug将在将来的某些版本中将其过滤掉,请参见此处的代码更改:

http://code.google.com/p/fbug/source/detail?r=6127

javascript – Chrome的firebug用于跟踪ajax请求的技术

javascript – Chrome的firebug用于跟踪ajax请求的技术

我正在尝试将我的Google Chrome扩展程序用于在浏览网页时跟踪ajax请求.我发现的唯一方法是监听DOMSubtreeModified事件.每个ajax事件都会触发事件,但没有关于请求的其他信息.但在Firebug谷歌浏览器扩展程序中,有一些跟踪许多细节的ajax请求.我试着在源代码中检查它们是如何做到的,但我很难理解.

您是否知道如何跟踪这些事件以获取有关请求的一些详细信息?
也许有人可以看看这个firebug的技术或者也许有人知道它并且可以告诉我他们是如何做到的?

解决方法

您可以使用Chrome开发者工具执行一些调试 AJAX请求的操作:

>查看network tab.它跟踪所有(AJAX)请求,它们的请求和响应标头.
>在devtools中启用XHR控制台日志记录(右键单击Developer Tools控制台,然后单击“启用XMLHttpRequest日志记录”.
>设置XHR breakpoint.

在您的情况下,不需要DOM断点.此外,只有当您的AJAX请求修改DOM树时,该方法才有效.

我们今天的关于如何防止用户通过Ajax请求中的Firebug更改变量如何防止ajax接口暴露的分享已经告一段落,感谢您的关注,如果您想了解更多关于Ajax请求中的jQuery Ajax请求、Extjs4 ajax请求在firebug提示aborted、Firebug 1.5显示200个Ajax请求已中止、javascript – Chrome的firebug用于跟踪ajax请求的技术的相关信息,请在本站查询。

本文标签: