내 사이트의 전체 텍스트에서 기본 텍스트 구성 요소로 사용되는 서식있는 텍스트 편집 위젯 (xtype="richtext"
)을 사용하는 구성 요소가 있습니다.서식있는 텍스트 위젯의 입력을 기반으로 HTL의 전화 연결 렌더링
사용자는이 구성 요소를 사용하여 입력 한 텍스트에 tel
URI 체계를 사용하여 전화 링크를 삽입 할 수 있기를 원합니다. 이 번
{$text @ context='html'}
이 이루어집니다의 값을 :
대화는 그들이 서식있는 텍스트 편집의 내용이 나중에 전망이 좋은/HTL에서 렌더링 할 때 단, html
컨텍스트를 사용 그렇게 할 수 있습니다 내 속성은 무시됩니다.
저장소에 저장된 HTML은 다음과 같습니다
<a href="tel:04242424242">Call us!</a>
그리고 무엇 실제로 저자 인스턴스 페이지에 렌더링 것은입니다 : 게시자에
<a>Call us!</a>
이 태그 때문에 모두 제거됩니다 링크 검사기.
unsafe
으로 컨텍스트를 변경하면 href
이 렌더링되지만 이는 받아 들일만한 해결책이 아닙니다. 이 구성 요소는 많은 장소에서 사용되며 XSS 보호가 충분한 지 확인하고자합니다.
HTL에서 전화 링크를 처리하는 방법에 영향을 줄 수 있습니까?
<regexp name="onsiteURL" value="([\p{L}\p{N}\\\.\#@\$%\+&;\-_~,\?=/!]+|\#(\w)+)"/>
<regexp name="offsiteURL" value="(\s)*((ht|f)tp(s?)://|mailto:)[\p{L}\p{N}]+[\p{L}\p{N}\p{Zs}\.\#@\$%\+&;:\-_~,\?=/!]*(\s)*"/>
<regexp name="telephoneLink" value="tel:\+?[0-9]+"/>
및 추가에 :
나는 apps/cq/xssprotection/config.xml
의 오버레이에 추가 정규 표현식을 추가하는 시도
<attribute name="href">
<regexp-list>
<regexp name="onsiteURL"/>
<regexp name="offsiteURL"/>
<regexp name="telephoneLink"/>
</regexp-list>
<!-- Skipped for brevity -->
</attribute>
하지만 그 방식에 영향을하지 않는 것 전망이 좋은/HTL 탈출 html
컨텍스트의 문자열
나는 또한 /libs/sling/xss/config.xml
에있는 Sling xss 규칙을 오버레이했지만 아무런 행운도 없었습니다.
어떻게 할 수 있습니까?
'/ libs/sling/xss'에도 하나의 파일을 덧씌우려고 시도했지만 작동하지 않는 것 같습니다. 내가 잃어버린 뭔가가있을 수 있습니다. 다시 시작하겠습니다. – toniedzwiedz
그래, 인스턴스를 다시 시작할 때 작동하기 시작했습니다.건배 :) – toniedzwiedz
@toniedzwiedz이 답변은 잘못이 아닙니다. 그것은'tel :'링크를 가능하게하는 한 방법입니다. 하지만 필자의 권고는'LinkChecker' 설정을 살펴 보는 것입니다. 귀하의 전화 링크에있는 'href'는 아마 링크 검사기에 의해 제거됩니다. 'tel :'등의 적절한 _Special Link Prefixes_ 목록을 구성 할 수 있습니다. 그런 다음 Link Checker는 더 이상 해당 접두어가있는 링크를 제거하지 않습니다. 이것으로 오버레이를 사용할 필요가 없습니다. – Jens