在检查 linter 规则时,我发现了unsafe_html规则。我发现它已被删除,但并没有真正解释原因。这些最终是否安全?我想在我的 IFrameElement() 上设置一个 src,但添加此规则会给我警告“避免使用不安全的 HTML API(分配“src”属性)。”所以如果这仍然不安全,那么我如何安全地设置我在小部件中加载的 iframe 的来源?目前我这样做
import 'package:universal_html/html.dart' as html;
...
late final html.IFrameElement _iFrameElement;
_iFrameElement = html.IFrameElement();
_iFrameElement.src = widget._source;
正如这个GitHub 问题所解释的:
有关更多背景信息,请参阅此Dart SDK 问题:
lint规则
unsafe_html
主要设计用于 Google 内部使用,对更广泛的开发者社区来说缺乏显著的实用性。它的弃用反映了其适用范围狭窄以及在原始环境之外的价值有限。虽然此规则已被弃用,但最初对不安全 HTML API 的担忧仍然存在。如果源 URL 未得到适当清理,则直接设置诸如
src
上的属性IFrameElement
可能会引入漏洞,例如跨站点脚本 (XSS)。