Подтвердить что ты не робот

Как скрыть запросы ajax с консоли firebug?

Как скрыть запросы ajax с консоли firebug или что-нибудь, что показывает аякс-вызовы?

4b9b3361

Ответ 1

Сделайте JSONP вызовы. Вызовы JSONP не являются реальными аякс-запросами (потому что они не используют объект XMLHttpRequest, и они просто вводят тег script в DOM). Но они не будут показаны в Firebug.

Ответ 2

Пожалуйста, вызовите эту функцию после успеха или неудачи ajax:

$('.result').load('testtemplateboth/testpagetpl');
clearconsole();

function clearconsole() { 
  console.log(window.console);
  if(window.console || window.console.firebug) {
   console.clear();
  }
}

ИЛИ ЖЕ

$('.log').ajaxComplete(function() { 
  clearconsole();
  $(this).text('Triggered ajaxComplete handler.');
});

function clearconsole() { 
  console.log(window.console);
  if(window.console || window.console.firebug) {
   console.clear();
  }
}

Ответ 4

Используйте двоичный websocket.

Хотя некоторые браузеры по-прежнему позволяют пользователям проверять содержимое пакетов websocket в некоторых случаях, обычно это ограничивается только текстовыми веб-сайтами и намного сложнее для двоичных данных... и определенно не будет отображаться в консоли.

Это подход, который использует Livereload (http://livereload.com/), чтобы избежать рассылки спама с помощью ajax-запросов, которые используют консоль для реальной отладки.

Очевидно, что, как указывали другие сообщения в этом потоке, вы не можете помешать кому-то отловить запросы с помощью таких инструментов, как Wireshark; но, возможно, бинарный веб-сокет будет препятствовать 90% случайного вмешательства, которое вы можете получить со стандартными аякс-запросами.

Ответ 5

Я пробовал jQuery, но всегда использовал обычные вызовы ajax. Согласно документам: запросы с типами "JSONP" или "script" dataType и "GET" должны приводить к транспортному режиму "script". Он работает следующим образом:

Клиентская сторона:

var h = $('head')[0];
var e = document.createElement('SCRIPT');
e.src = "/c.php?getRefresh=1"+("&_="+(+new Date()));
e.onload = function(){
    //script from server executed       
    h.removeChild(e);
}
h.appendChild(e);   

Серверная сторона:

if(isset($_GET['getRefresh'])){
    header("Content-Type: text/javascript");
    die("console.log('OK');");
}

Ответ 6

Я не думаю, что вы сможете полностью скрывать вызовы от любого программного обеспечения для нюхания из-за того, что некоторые программные пакеты для нюхания работают на очень низком уровне (настолько низкий, что вы фактически не можете попасть туда из браузера/кода).

Если вы хотите замаскировать вызов (например, скрыть, где идет вызов), вы можете отправить его на собственный сервер, а затем сервер может сам сделать вызов (используя некоторые маскированные команды).

Как вызов http://myserver.com/doCommand?command=cmd1&parameter1=param1&parameter2=param2

И сервер может иметь логику, которая будет читать команду и параметры, выполнять их, а затем отчитываться с результатами. В любом случае вызов между клиентом (браузером) и вашим сервером может быть захвачен программным обеспечением нюхания.

Это похоже на прокси. Клиент может видеть, что происходит с прокси-сервером, но не знает, что будет дальше.

В любом случае, это немного похоже на то, что у вас возникла проблема с самой архитектурой после того, как вы собираетесь маскировать вызовы от вызывающего, а не внешнего мира.

Ответ 7

Подобно тому, что говорил Саид с помощью JSONP, вы можете изменить источник атрибута image/file/ script "src". Сервер будет отправлять запрос при его изменении, что позволяет связываться с сервером. Я не пробовал это, но я смотрю на его реализацию для себя.

Ответ 8

Как ограничить вызов jQuery Ajax из окна консоли браузера