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

Javascript 如何使用Node JS检测计算机上的Web调试器?,javascript,http,https,interceptor,Javascript,Http,Https,Interceptor,我不想在使用NodeJS应用程序时允许使用Charles Proxy、Fiddler、Wireshark等Web调试器。我不完全确定做这件事最好的方法是什么。是否有方法检测节点中何时启动新程序,然后检查它是否是web调试器 我只是不希望人们截获节点应用发送的请求 我已尝试在用户的计算机上获取所有正在运行的进程,如果有web调试器,请关闭我的应用程序,但这需要每隔几秒钟检查一次正在运行的进程。您没有有效的方法来执行此操作。有比你想象的更多的调试工具可以检查,也有一些方法可以隐藏它们,超出你的检测能

我不想在使用NodeJS应用程序时允许使用Charles Proxy、Fiddler、Wireshark等Web调试器。我不完全确定做这件事最好的方法是什么。是否有方法检测节点中何时启动新程序,然后检查它是否是web调试器

我只是不希望人们截获节点应用发送的请求


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

您没有有效的方法来执行此操作。有比你想象的更多的调试工具可以检查,也有一些方法可以隐藏它们,超出你的检测能力(比如在另一台计算机上运行它们,或者在虚拟机中运行你的应用程序)。此外,您的应用程序是用解释语言编写的——任何有足够悟性使用调试工具的用户都可以同样轻松地打开您的应用程序并删除本应禁用其工具的代码


您还没有详细说明为什么要这样做,但您提出的问题表明您的应用程序可能结构不正确。如果应用程序正在与服务器通信,则应在服务器上实施任何访问控制(例如,客户端可以访问哪些信息,或者可以执行哪些操作),即客户端可以“查看”进出服务器的内容不应影响系统的安全。

没有有效的方法可以做到这一点。有比你想象的更多的调试工具可以检查,也有一些方法可以隐藏它们,超出你的检测能力(比如在另一台计算机上运行它们,或者在虚拟机中运行你的应用程序)。此外,您的应用程序是用解释语言编写的——任何有足够悟性使用调试工具的用户都可以同样轻松地打开您的应用程序并删除本应禁用其工具的代码


您还没有详细说明为什么要这样做,但您提出的问题表明您的应用程序可能结构不正确。如果应用程序正在与服务器通信,则应在服务器上实施任何访问控制(例如,客户端可以访问哪些信息,或者可以执行哪些操作),即客户端可以“查看”进出服务器的内容不应影响系统的安全。

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

那是不可能的!浏览器是一种软件,就像Charles Proxy、Fiddler、Wireshark等

你在玩一场失败的游戏。例如,有一些工具可以从进程列表中隐藏进程。类似地,例如,简单地重命名wireshark exe也会绕过您的检查。一般来说,如果你没有对你控制的基础设施进行必要的验证,那你就是做错了。你在玩一场失败的游戏。例如,有一些工具可以从进程列表中隐藏进程。类似地,例如,简单地重命名wireshark exe也会绕过您的检查。通常,如果您没有对所控制的基础结构进行必要的验证,那么您就错了。