Можно ли отключить 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 не была подделана.