Browser 用于检测用户是否已从浏览器安装防病毒软件的代码?

Browser 用于检测用户是否已从浏览器安装防病毒软件的代码?,browser,detection,antivirus,Browser,Detection,Antivirus,我希望能够使用web浏览器中的任何语言(PHP、ASP、Flash、Javascript、Java等)来检测用户是否安装了防病毒软件 我正在研究只允许用户从安装了最新防病毒软件的计算机登录到虚拟专用网络的可能性 可以这样做吗?如果可以,怎么做 谢谢。没有服务器语言(PHP、ASP等)可以访问浏览器已知的数据,客户端语言(Javascript、Flash等)被沙盒放入一个环境中,由于安全原因,它们无法访问页面外部的数据 换句话说,只有浏览器上的插件才能(可能)获取此类数据,并将其暴露给在页面中运行

我希望能够使用web浏览器中的任何语言(PHP、ASP、Flash、Javascript、Java等)来检测用户是否安装了防病毒软件

我正在研究只允许用户从安装了最新防病毒软件的计算机登录到虚拟专用网络的可能性

可以这样做吗?如果可以,怎么做

谢谢。

没有服务器语言(PHP、ASP等)可以访问浏览器已知的数据,客户端语言(Javascript、Flash等)被沙盒放入一个环境中,由于安全原因,它们无法访问页面外部的数据


换句话说,只有浏览器上的插件才能(可能)获取此类数据,并将其暴露给在页面中运行的脚本。

Juniper客户端,我相信许多其他VPN客户端也会进行检查,以确保用户计算机安装了最新版本的经批准的防病毒系统,但它不是从浏览器上运行的-它必须安装-所以没有回答你的问题,但我可以看到你来自哪里。正如其他人所说,像那样监视人们的电脑将是一个巨大的安全漏洞

所以我要说的是,网络浏览器中没有一种语言可以让你在不让用户在他们的计算机上安装某些东西的情况下实现你想要做的事情,无论是ActiveX还是其他我不能说的扩展/插件,但是,您需要能够查询文件系统或注册表,以便回答是否存在任何给定软件的给定版本的问题。也就是说,我认为Juniper客户端在某种程度上是这样做的



简单,只需向位于已知恶意软件托管域中的资源添加一个异步脚本调用(例如,
)(当前Avast将coinhive检测为恶意软件主机,并且这些请求被阻止)。如果请求成功(因此恶意软件主机中创建的javascript对象在一段时间后在客户端中实际可用),这意味着在internet通信上没有防病毒保护,这在最新的防病毒软件中是默认启用的

但是,这会使您的站点容易受到恶意软件主机的攻击。您可以通过故意创建受感染的域并将其报告给多个防病毒黑名单来克服此问题。一旦你把自己的域名列入黑名单,你就可以安全地进行这个测试了。但这可能需要一些时间和耐心

最后一个不可避免的问题是,受防病毒保护的用户将看到来自防病毒软件的丑陋警告,告诉他您的站点已感染病毒。您可以通过在应用程序中创建非常清晰和可信的消息来缓解此问题。大概是这样的:

要访问此网站,您必须启用防病毒保护。 请单击下面的按钮开始防病毒验证。将向知名恶意软件主机发出请求,如果您受到适当保护,您的防病毒软件应向您显示一条警告,以阻止该请求


这应该是不可能的。如果你能监视人们的电脑,那就是一个安全漏洞。你需要编写一个插件,但你可以尝试使用某种方式。也许对包含它的文件进行AJAX调用,看看它是否成功。不知道。我不使用AV,所以不确定浏览器对此有何反应。好的,一种可能的方法是要求用户在登录之前安装我的插件。然后使用插件来确定是否安装了防病毒软件。我不确定插件是否可以做到这一点,但我知道插件可能会与操作系统交互,并将对象暴露到页面上。因此,从理论上讲,插件可以检查软件是否存在,并公开允许/不允许操作的变量。