У меня есть следующий конфиг в моем файле политики антисами:
Старый объект YouTube:
<object width="1280" height="720">
<param
name="movie"
value="http://www.youtube.com/v/Hl-zzrqQoSE
?version=3
&hl=en_US
&rel=0">
</param>
<param name="allowFullScreen" value="true">
</param>
<param name="allowscriptaccess" value="always">
</param>
<embed src="http://www.youtube.com/v/Hl-zzrqQoSE
?version=3
&hl=en_US
&rel=0"
type="application/x-shockwave-flash"
width="1280"
height="720"
allowscriptaccess="always"
allowfullscreen="true">
</embed>
</object>
Конфигурация AntiSamy:
<common-regexps>
<regexp name="YouTubeURL" value="(\s)*(http(s?)://)www.youtube.com/v/[\p{L}\p{N}]+[\p{L}\p{N}\p{Zs}\.\#@\$%\+&;:\-_~,\?=/!]*(\s)*"/>
....
<!-- Tags related to YouTube -->
<tag name="object" action="validate">
<attribute name="height"/>
<attribute name="width"/>
<attribute name="type">
<literal-list>
<literal value="application/x-shockwave-flash"/>
</literal-list>
</attribute>
<attribute name="data">
<regexp-list>
<regexp name="YouTubeURL"/>
</regexp-list>
</attribute>
</tag>
<tag name="embed" action="validate">
<attribute name="height"/>
<attribute name="width"/>
<attribute name="type">
<literal-list>
<literal value="application/x-shockwave-flash"/>
</literal-list>
</attribute>
<attribute name="allowfullscreen">
<regexp-list>
<regexp name="boolean"/>
</regexp-list>
</attribute>
<attribute name="allowscriptaccess">
<literal-list>
<literal value="always"/>
</literal-list>
</attribute>
<attribute name="src">
<regexp-list>
<regexp name="YouTubeURL"/>
</regexp-list>
</attribute>
<attribute name="movie">
<regexp-list>
<regexp name="YouTubeURL"/>
</regexp-list>
</attribute>
</tag>
В настоящее время мой конфиг на iframe:
<!-- Frame & related tags -->
<tag name="iframe" action="remove"/>
<tag name="frameset" action="remove"/>
<tag name="frame" action="remove"/>
Новый iframe YouTube:
<iframe
width="1280"
height="720"
<!-- src="https://www.youtube-nocookie.com/embed/Hl-zzrqQoSE" -->
src="https://www.youtube.com/embed/Hl-zzrqQoSE"
frameborder="0"
allowfullscreen>
</iframe>
Я думаю, код для iframe должен выглядеть следующим образом:
<tag name="iframe" action="validate">
<attribute name="height"/>
<attribute name="width"/>
<attribute name="frameborder"/>
<attribute name="src">
<regexp-list>
<regexp name="YouTubeURL"/>
</regexp-list>
</attribute>
<attribute name="allowfullscreen">
<regexp-list>
<regexp name="boolean"/>
</regexp-list>
</attribute>
</tag>
Как вы можете изменить регулярное выражение такон будет принимать старые и новые ссылки, такие как:
https://www.youtube-nocookie.com/embed/Hl-zzrqQoSE
https://www.youtube.com/embed/Hl-zzrqQoSE
https://www.youtube.com/v/Hl-zzrqQoSE
http://www.youtube-nocookie.com/v/Hl-zzrqQoSE?version=3&hl=en_US&rel=0
http://www.youtube.com/v/Hl-zzrqQoSE?version=3&hl=en_US&rel=0"