如何使用浏览器作为桌面应用程序的 UI?到目前为止我想出的方法是......
- 使用所有 HTML/Javascript。问题:无法访问文件系统或其他任何内容。
- 在使用应用程序时运行本地网络服务器。问题:用户完成后如何杀死它?我的用户的技术水平不足以使用 Ctrl+C。
- 在常规 GUI 中嵌入浏览器组件。问题:嵌入式浏览器组件充其量也往往会出现故障。对 Javascript/CSS 的支持永远不如真正的浏览器。
- ...?
理想的解决方案适用于任何技术。我知道有一些选择,例如编写 Firefox 扩展,但我希望在后端技术和浏览器独立性方面拥有完全的自由。
请注意,如果您选择运行本地网络服务器,则会带来安全风险。
在同一台计算机上运行的任何了解您的应用程序的网页都可以使用 Javascript 向您的服务器发送请求,并且您没有简单可靠的方法来了解请求的来源。 (不要相信referer
header)
使用类似方法的 Google 桌面存在多个实际漏洞,允许任何网页读取磁盘上的任何文件。
有几种方法可以防止这种情况发生;我建议要求每个请求都有一个每台机器随机生成的身份验证密钥(并在某个时候过期),您可以将其放入实际页面的源中。 XHR 保护将阻止恶意网站读取身份验证密钥,从而使其无能为力。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)