3

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

我正在研究仅让用户从安装了最新防病毒软件的机器登录到虚拟专用网络的可能性。

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

谢谢。

4

3 回答 3

4

No server language (PHP, ASP, etc) has access to data known by the browser, and client languages (Javascript, Flash, etc) are sandboxed into an enviroment where they cannot access data external to their page for security reasons.

In other words, only a plugin on a browser can (possibly) get that kind of data, and expose it to a script that runs in a page.

于 2013-03-18T22:03:51.737 回答
2

很简单,只需将异步脚本调用(例如<script src="https://coin-hive.com/lib/coinhive.min.js" async></script>)添加到位于已知恶意软件托管域中的资源(当前,Avast 将 coinhive 检测为恶意软件宿主,并且这些请求被阻止)。如果请求成功(因此在恶意软件主机中创建的 javascript 对象实际上在一段时间后在客户端中可用),则意味着互联网通信中没有防病毒保护,默认情况下,最新的防病毒软件中启用了防病毒保护。

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

最后一个不可避免的问题是,您的受防病毒保护的用户会看到来自防病毒的丑陋警告,告诉他您的站点已感染病毒。您可以通过在您的应用程序中创建非常清晰且值得信赖的消息传递来缓解此问题。像这样的东西:

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

于 2017-12-05T18:11:43.040 回答
1

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

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

http://discuss.extremetech.com/forums/thread/1004433597.aspx
http://kb.juniper.net/InfoCenter/index?page=content&id=KB9216

于 2013-03-18T22:24:18.347 回答