如何配置jsoup Whitelist
以允许内部定位点引用,但不允许任何值?如何配置jsoup白名单以允许内部定位点
HTML示例:
<a href="#section1" target="_self">Jump To Section 1</a>
<!-- ... -->
<a name="section1">Section 1</a>
如果我试图用轻松的Whitelist
的href
清洁代码被删除。
Jsoup.clean(html, Whitelist.relaxed().addAttributes("a", "name", "target");
返回如下:
<a target="_self">Jump To Section 1</a>
<!-- ... -->
<a name="section1">Section 1</a>
如果我手动建立一个Whitelist
并添加标签和属性,我想,但不叫addProtocols(....)
我能得到jsoup离开到位href
,但这看起来不是一个好的解决方案,因为它不会过滤掉包含JavaScript的href
。例如,我想从下面取出一个标签(或至少href
):
<a href="javascript:alert(1111);" target="_self">Jump To Section 1</a>
<a name="section1">Section 1</a>
这可能与jsoup?
我没有看到下面的补丁提交jsoup,但它并不像它制作成的jsoup代码库:https://github.com/jhy/jsoup/pull/77