如何使用 Node JS 检测计算机上的 Web 调试器



我不想在使用我的Node JS应用程序时允许使用Charles Proxy,Fiddler,Wireshark等Web调试器。我不完全确定这样做的最佳方法是什么。有没有办法检测何时在节点中启动新程序,然后检查它是否是 Web 调试器?

我只是不希望人们拦截从节点应用程序发送的请求。

我尝试在用户计算机上获取所有正在运行的进程,如果有 Web 调试器,请关闭我的应用程序,但这需要每隔几秒钟检查一次正在运行的进程。

没有有效的方法来做到这一点。调试工具比您想象的要检查的要多,并且有些方法可能会隐藏它们超出您的检测能力(例如在另一台计算机上运行它们,或在虚拟机中运行您的应用程序)。此外,您的应用程序是用解释性语言编写的 - 任何精通使用调试工具的用户都可以轻松打开您的应用程序并删除应该禁用其工具的代码。

您还没有详细说明为什么要这样做,但是您询问的事实表明您的应用程序结构可能不正确。如果你的应用程序正在与服务器通信,任何访问控制(例如,客户端可以访问哪些信息,或者它可以执行什么操作)都应该在服务器上实现——客户端可以"看到"进出服务器的内容这一事实不应该损害系统的安全性。

这是不可能的!浏览器是一个软件,就像Charles Proxy,Fiddler,Wireshark等一样......

最新更新