RX/XE 팁
XE FAQ 는 제가 XE공홈 '묻고 답하기'에 답변한 내용들 중 일부를 정리한 내용입니다. (대부분이 제가 한 답변이죠)
XE Tips 는 제가 XE 공홈에 쓴 XE 관련 유용한 팁들입니다. 기능개선은 공홈에 안 적어둔 XE 유용 개선팁들입니다.
유용정보는 외부 검색을 통해 알아낸 소스등을 기재해둔 곳입니다.
버그 신고내역들은 XE 사용하다가 발견한 버그 패치방법들로, Core Issue 에 기록해뒀기에 XE 에 적용이 되었을 가능성이 있겠죠
제가 쓴 글들에 대해 퍼가실때는 꼭 출처를남겨주시고.. (다만 플래시뷰 기반이기에 퍼가기는조금 힘들 수 있겠죠 ^^;)
타회원의 글들도 적혀있는 출처를 같이 꼭 기재해주세요
XE Tips 는 제가 XE 공홈에 쓴 XE 관련 유용한 팁들입니다. 기능개선은 공홈에 안 적어둔 XE 유용 개선팁들입니다.
유용정보는 외부 검색을 통해 알아낸 소스등을 기재해둔 곳입니다.
버그 신고내역들은 XE 사용하다가 발견한 버그 패치방법들로, Core Issue 에 기록해뒀기에 XE 에 적용이 되었을 가능성이 있겠죠
제가 쓴 글들에 대해 퍼가실때는 꼭 출처를남겨주시고.. (다만 플래시뷰 기반이기에 퍼가기는조금 힘들 수 있겠죠 ^^;)
타회원의 글들도 적혀있는 출처를 같이 꼭 기재해주세요
sejin7940
조회:297 2019.03.07 16:57
출처 | XE |
---|---|
출처URL | https://xe1.xpressengine.com/devlog/23277227 |
xe 1.11 이후부터
$content 출력시 필터링이 포함된다.
sejin7940_export 처럼 html 로 엑셀추출을 하거나, 표를 만드는 등의 경우
이 때문에 문제가 생기는 경우가 있다.
$content 관련 필터 사용 방법 안내글
https://xe1.xpressengine.com/devlog/23277227
템플릿 필터 사용법
@kijin님의 코드로부터 기인한 템플릿 필터 기능이 추가되었으며, 이 기능이 템플릿 보안 향상의 역할을 합니다.
출력 값에 대한 escape 필터를 적용할 수 있으며, 사용 방법은 아래와 같습니다.
escape 필터는 htmlspecialchars()
함수를 사용하는 간소화된 방법입니다.
escape 필터의 종류
- escape : 출력되는 결과물에 htmlspecialchars()가 적용되며, double_encode 옵션은
true
입니다- 일반적으로 사용되지 않을 수 있으며, textarea 필드에 출력될 값이 대상이 될 수 있습니다
- autoescape : 출력되는 결과물에 htmlspecialchars()가 적용되며, double_encode 옵션은
false
입니다- HTML이 적용되지 않아야 할 항목에 사용
- noescape : 별도 처리하지 않고 그대로 출력합니다
- HTML을 적용해야 할 항목에 사용
각 필터는 아래 <config>
를 이용한 일괄 설정에 대한 필터를 개별 항목에 덮어 쓸 수 있습니다.
escape 적용
HTML 템플릿 파일 상단에 아래와 같이 명시하여, 해당 파일에서 출력하는 모든 값에 autoescape
필터를 적용할 수 있습니다.
1
|
< config autoescape = "on" /> |
템플릿 전체에 적용하지 않고 일부 출력 값에 적용은 아래와 같습니다.
1
2
3
|
< div class = "content" > {$content|autoescape} </ div > |
이 두 방법을 혼용하여, 필터를 덮어 쓰면 아래와 같이 동작합니다.
아래와 같이 공백이 포함되지 않도록 주의해야 합니다(아래와 같은 사항은 무시되며, 오류가 발생할 수 있습니다).
{$content | noescape}
{$content| noescape}
{$content |noescape}
즉, pipe 문자(|
) 앞 뒤에는 공백이 포함되지 않아야 합니다.