Можно ли отключить Javascript/Jquery из консоли браузера инспектора?

Привет, я думал о том, может ли быть какой-либо способ отключить возможность изменять javascript/jquery из консоли инспектора?

На всякий случай, если вы хотите избежать взаимодействия с пользователем и изменить вещи из DOM с помощью консоли, или, возможно, отправлять формы, избегая некоторых проверок из JavaScript.

Или это невозможно сделать, и вы просто должны обеспечить безопасность или подобные вещи на стороне сервера?

Спасибо!

2 ответа

Решение

Да, чтобы отключить консоль, просто запустите это на клиенте

Object.defineProperty(console, '_commandLineAPI',
           { get : function() { 

              throw "Console is disabled";
             } 

        });

Это не оставит тогда использовать консоль.

Примечание. Для этого не существует 100% безопасного варианта, но, по крайней мере, это не позволит использовать консоль. Добавьте безопасность на свой сервер, чтобы увидеть, какой запрос является законным.

Также это будет работать только в Chrome, потому что Chrome переносит весь консольный код в:

with ((console && console._commandLineAPI) || {}) {
  <code area>
 }

Firefox имеет другой способ обернуть код из консоли. Вот почему это не 100% надежная защита от консольных команд

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

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

Другие вопросы по тегам