javascript - 有没有办法阻止 Javascript 命令在控制台中执行?

标签 javascript security console

根据问题标题。

虽然不需要;我想阻止人们通过控制台在我的页面上执行功能...这可能吗?

我尝试了一些方法,这是我最接近的 - 但这不起作用:(

    window.onresize = function(){
        if((window.outerHeight - window.innerHeight) > 100) {
            //stop commands here?
        }
    }
    window.onload = function() {
        if (typeof console !== "undefined" || typeof console.log !== "undefined") {
            if (window.console && (window.console.firebug || window.console.exception)) {
                    //stop commands here?
            }
        }
    }

编辑:
我不必禁用控制台,只需在其中进行函数调用 - 这两种解决方案都可以;)

编辑2:
那么,为了解决这个问题...现在根本无法检测控制台跨浏览器吗?

编辑3:
我通过执行以下操作来解决这个问题,尽管 JS 函数仍然存在 - 它们相关的元素不是......不是一个很好的修复,但我想它会做......:(

        setInterval(function() {
            if (!$.browser.mozilla) {
                if((window.outerHeight - window.innerHeight) > 100) {
                    alert("DISABLED!");
                    $('body').remove();
                    return false;
                }
            }
            if (window.console && (window.console.firebug || window.console.exception)) {
                alert("DISABLED!");
                $('body').remove();
                return false;
            }
        }, 750);

最佳答案

尝试通过窗口宽度检测控制台并不好。这也可能会导致其他浏览器出现一些问题。如果您只是想保护您的功能:

当你有一个按钮时:

<button onclick="someFunction()"></button>

someFunction 当然可以通过控制台访问。但是如果你不让用户知道你的函数名,他就不能调用这个函数,不是吗? 请参阅此处:

<script type="text/javascript">
//obsfuscate this code
$(function() {
$("#theButton").on("click", someFunction);
})
</script>
<button id="theButton"></button>

这只是一个可能的解决方案。但请记住,没有任何 JavaScript 解决方案可以 100% 安全,因为用户知道您的所有代码,无论是否经过混淆。

关于javascript - 有没有办法阻止 Javascript 命令在控制台中执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13028344/

相关文章:

php - SQL注入(inject)理论

JavaScript - 如果电子邮件错误则设置类

javascript - 访问数组中的数据

javascript - 处理连接错误事件

linux - Linux 中的 sh 脚本漏洞

java - OSGi:条件权限管理员或用户管理员

非标准端口上的 Python telnetlib 提示

ruby - ruby 中的控制台表格式

c# - 使 C# 控制台应用程序识别 .exe.config 文件中手动编辑的更改

javascript - 根据数组中的值检查复选框