桌面应用程序是否可以获取网站URL?

时间:2011-11-26 22:24:47

标签: .net web desktop-application

我正在开发一个桌面应用程序,一旦用户打开银行wabsite,必须通知用户是否禁用了防病毒软件或其他安全软件。银行网站网址 以应用程序而闻名。如果要从用户访问给定的银行站点,我的应用程序必须触发通知窗口。我希望应用程序检查用户正在打开哪个站点(链接),如果是预定义链接,则应显示通知表单。这样的事情可以在不开发浏览器插件的情况下完成吗?

5 个答案:

答案 0 :(得分:1)

简短的回答是否。

答案越长,答案是肯定的。但你必须进入网络嗅探(无法工作 - 银行流量通常是加密的)或内存填充(手动从RAM读取字符串等)。在这两种情况下,制作浏览器加载项至少要容易1000倍。

答案 1 :(得分:0)

可以通过开发浏览器加载项和/或http(s)-proxy和/或沙盒浏览器和/或用修改后的版本替换浏览器和/或破解浏览器...... / p>

如果您真的只想用普通的桌面应用程序来做这件事,那么就可以想象(在浏览器中查看当前打开的URL)但是我强烈建议不要这样做......它不能可靠地工作,它会放一些资源紧张......

如果我必须实现这一点,我肯定会编写一个浏览器加载项和/或一个http(s)代理...为什么要为此排除浏览器加载项的原因?

答案 2 :(得分:0)

假设,如果您的应用程序充当用户浏览器的HTTP代理,那么是..您可以截取银行网站的请求并回复您对用户的建议..

答案 3 :(得分:0)

这是不可能的。 (至少在每台计算机上没有太多工作和/或手动配置)

你需要解决很多问题:

  1. 您如何从“浏览器”中获取“网址”?
  2. 安全性如何?
  3. 您应该如何确定是否启用了防病毒或防火墙?
  4. 让我们将“url”分成更小的部分(让我们限制为http协议):

    HTTP是两个IP地址和两个端口之间的TCP / IP连接,服务器通常在端口80上响应(如果省略端口,则默认为80)。示例网址:

    http://123.123.123.123:456(在端口456上使用http连接到ip 123.123.123.123)

    然后我们有dns;域名将被翻译为ip-adress,例如:

    http://foobar.com => http://123.123.123.123(dns翻译foobar.com至123.123.123.123)

    现在,假设您为网址添加路径,例如:

    http://foobar.com/path/to/page.htm

    我们现在做什么?在TCP / IP中没有“路径”这样的东西。它在HTTP级别上。让我们来看看一个非常基本的http-url,并将其转换为TCP / IP连接:

    http://foobar.com/path/to/page.htm =>

    1. 客户查找foobar.com => 123.123.123.123
    2. 客户端连接到端口80上的123.123.123.123
    3. 客户端将以下数据发送到服务器:
    4. GET /path/to/page.htm HTTP/1.1
      Host: foobar.com
      
      
      

      你将如何获得tcp / ip-connections(及其“内容”)?

      您有几个选择:

      • 一个过滤器(安装在网络层。敏感的东西,我尝试过的所有东西都造成了不稳定和性能损失,除了麻烦 - 防火墙..)
      • 代理(您必须确保每个浏览器都通过您的代理重定向其网络流量 - 没有全局设置,每个浏览器都有自己的方式)
      • 浏览器的某种插件(你必须为每个浏览器编写一个新的插件,并确保它已启用)
      让我们看一下安全性 - 如果使用HTTPS(带有SSL的HTTP),则会引入另一个问题:每个网络连接的内容都是加密的,除非你有密钥,否则你无法解密它(你还没有' t,除非你自己提供,但浏览器不会信任你的密钥并发出重大警告,除非你已经在浏览器中安装了密钥。而且你不想这样做 - 这是一个相当大的安全性风险..)

      让我们假设您已经解决了这个问题,您如何知道是否已安装并启用了防病毒软件?还有防火墙?每个反病毒和防火墙都有自己的方式。

答案 4 :(得分:0)

如果您的.Net桌面应用程序用于在用户点击预定义的银行网站时显示通知。然后考虑到替代答案所需的努力,从经验(在财务方面)将使您的应用程序启动链接更有意义。然后,您可以执行检查,显示通知,如果您使用桌面应用程序生成的唯一查询字符串参数启动网站,则浏览网站的用户将有额外的安全层。

如果用户没有安装您的应用程序,那么首先不要忘记进行所有这些检查(在用户打开银行网站时通知用户是否禁用了防病毒软件或其他安全软件)。