XHR获取请求未通过Google Chromestore检查

时间:2016-05-20 11:01:53

标签: ajax google-chrome google-chrome-extension xmlhttprequest

我们已经为我们的客户构建了一个非常轻量级的简单Chrome扩展程序,它是私有的,并且不会公开发布,但由于Google的限制,现在需要至少私下存在于他们的商店。

扩展的想法是自动跟踪客户计算机的返现机会。它是通过检查他们只访问我们的API的每个新URL来实现的 - 如果它不是存在的购物网站(例如Facebook或Google),那么存储确保永远不再检查URL,如果是,则只检查一次在24小时内,使用AJAX GET请求访问API返回的URL。

get请求通过返现网站加载URL,以便在后台自动为用户设置正确的cookie,而不会中断用户浏览会话。

虽然苹果和Mozilla接受Firefox和Safari的延期虽然被Google拒绝,但似乎是由于我们的XHR请求 - 尽管他们发送了相同的通用拒绝请求,但似乎是通过自动检查拒绝 - 看起来被标记的是GET请求可以从第三方请求外部javascript(例如恶意内容),当然所有代码(并且非常正确)都需要在扩展本身内。

他们提供了在其网站https://developer.chrome.com/extensions/xhr

上使用跨源调用的示例

由于我们只需要从我们访问的网址设置Cookie,无论如何都会过滤get请求以遵守其安全规则,而不是仅仅从URL下载所有内容我们阻止下载外部javascript图书馆等?

这远远超出了我在这里编码的范围,所以我更感兴趣的是,如果有人能想到我们可以通过谷歌的检查这样做的方式 - 最终我们做的AJAX请求只会加载他们已经在网站上,但是当它通过跟踪公司来设置cookie时,它当然会首先调用几个简单的重定向来设置会话ID。如果我们仍然可以使用这些数据,同时通过谷歌检查,我不确定。

以下是当前XHR相关代码的片段

   kango.xhr.send(details, function(data) {
    if (data.status == 200 && data.response != null) {
        var text = data.response;
        console.log(window.location.href);
        kango.console.log("THE RESPONSE URL: " + text);
        var affilDetails = {
            method: 'GET',
            url: text,
            async: true,
            contentType: 'text'
        };

和     kango.xhr.send(affilDetails, function (afilData) { console.log(thisDomain + " expire updated to " + new Date(expireshort)); if (afilData.status == 200 && afilData.response != null) { kango.storage.setItem(thisDomain,expireshort); console.log("RESPONSE URL HAS BEEN VISITED VIA AJAX.");

0 个答案:

没有答案