xml - 任何现代浏览器真的没有办法在 XML 文件中应用远程 XSLT 样式表引用吗?
问题描述
大约十年前,您可以使用 IE8 在本地打开一个 XML 文件,当该 XML 文件包含 XSLT 样式表引用时:
<?xml-stylesheet href="https://trusted.org/stylesheet.xsl"?>
但是几年后,这对所有浏览器都停止了工作。有一个明显的安全问题,同源策略,Chrome(可能还有其他浏览器)甚至不允许本地文件:样式表引用,即使它来自完全相同的目录。
我理解为什么可能存在风险,但我不明白为什么 XSLT 特别会带来诸如在浏览器上实现的 XSLT 1.0 甚至不能做任何恶意的风险。OTOH,我可以很好地从本地文件中获取 JavaScript 脚本,如果我担心任何事情,那就是 java 脚本在做恶意的事情,而不是 XSLT!
我认为这个解决方案太苛刻了,而且没有公平地应用。用户应该有一种方法可以配置受信任的 URL,至少是受信任的 HTTPS URL,从那里可以加载此类样式表。如果没有,整个样式表功能基本上就被杀死了。
这件事的现状如何?为什么没有人解决这个问题?除了我之外,似乎没有人抱怨或意识到在 JavaScript 打开时 XSLT 被完全阻塞的讽刺意味?这似乎是一种无知的行为,甚至是故意试图扼杀 XSLT 功能的存在。
我知道有一些变通方法,例如使用一些特殊的命令行选项启动 chrome,这基本上会关闭所有此类安全性。但是,如果您使系统因所谓的安全问题而无法使用,然后只提供一种方法来通过关闭所有安全防护来克服这个问题,那么这一切的设计就更加无稽之谈了。没有意义。
注释?解决方案?
更新:似乎有一些 Windows / Internet Explorer 特定的方法可以将样式表 URL 配置为受信任的站点,因为我听说它适用于使用更高版本 IE 的人。但我不知道他们使用的是什么确切设置。很高兴听到有这个特定场景的人的消息。
解决方案
推荐阅读
- excel - 从 vba mac 调用脚本
- batch-file - Borland 错误 E2194:找不到文件,makefile 中的 qoutes 问题
- go - VSCode Go 扩展错误加载具有私有存储库依赖项的工作区
- google-cloud-platform - 使用 Google Cloud Platform TPU v3 对 BERT 进行预训练
- r - 在 r 中执行数据的逐行归一化
- c# - 播放带音频的视频会出现黑屏(Vlc.DotNet 和 libvlcsharp)
- reactjs - 如何使反应表可滚动?
- github-pages - github页面上的ERR_HTTP2_PROTOCOL_ERROR
- python - 在python上简单计算加班费的问题
- javascript - OnClick 事件隐藏和切换页面部分