Как скрыть запросы ajax с консоли firebug или что-нибудь, что показывает аякс-вызовы?
Как скрыть запросы ajax с консоли firebug?
Ответ 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();
}
}
Ответ 3
Как описано здесь (https://getfirebug.com/wiki/index.php/Console_Panel), вы можете установить его на вкладке: config, изменяя значение extensions.firebug.showXMLHttpRequests.
Ответ 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¶meter1=param1¶meter2=param2
И сервер может иметь логику, которая будет читать команду и параметры, выполнять их, а затем отчитываться с результатами. В любом случае вызов между клиентом (браузером) и вашим сервером может быть захвачен программным обеспечением нюхания.
Это похоже на прокси. Клиент может видеть, что происходит с прокси-сервером, но не знает, что будет дальше.
В любом случае, это немного похоже на то, что у вас возникла проблема с самой архитектурой после того, как вы собираетесь маскировать вызовы от вызывающего, а не внешнего мира.
Ответ 7
Подобно тому, что говорил Саид с помощью JSONP, вы можете изменить источник атрибута image/file/ script "src". Сервер будет отправлять запрос при его изменении, что позволяет связываться с сервером. Я не пробовал это, но я смотрю на его реализацию для себя.
Ответ 8
Как ограничить вызов jQuery Ajax из окна консоли браузера