Ins*_*ter 10 browser user-interface desktop-application
如何将浏览器用作桌面应用的UI?到目前为止我提出的方法是......
理想的解决方案适用于任何技术.我知道有一些选项可以编写Firefox扩展,但我希望在后端技术和浏览器独立性方面拥有完全的自由.
SLa*_*aks 10
请注意,如果您选择运行本地网络服务器,则会产生安全风险.
在知道您的应用程序的同一台机器上运行的任何网页都可以使用Javascript向您的服务器发送请求,并且您没有简单可靠的方式来了解请求的来源.(不要相信referer标题)
谷歌桌面使用类似的方法,有几个真实的漏洞,允许任何网页读取磁盘上的任何文件.
有几种方法可以防止这种情况发生; 我建议要求每个请求都有一个auth密钥,该密钥是每台机器随机生成的(并在某个时候到期),您可以将其放入实际页面的源代码中.XHR保护可以防止恶意网站读取授权密钥,使其无能为力.
在 Windows 中,您可以嵌入 IE ActiveX 控件,该控件使用与 IE 相同的渲染引擎。(这是一个优点和一个缺点)您可以ScriptObject在主机代码中设置该属性并在 Javascript 中访问它,以window.external执行 Javascript 无法执行的操作。
如果您运行本地网络服务器,则应用程序中可能有一个退出链接来终止网络服务器。