Vapor3.0에서 Leaf 템플릿에서 HTML을 피하지 않고 내보내려는 경우
Vapor2.0까지
#raw()
라벨이 있는데 그걸 사용해서 이루어졌는데 없어졌어요.결론
text
HTML 문자열로#(text)
아니오.#get(text)
이렇게 하면 OK야.XSS 주의사족
난
#get()
이런 게 있는지 몰랐어 (Vaper의 Discord를 보고 알았지) 아직까지 사용자 정의 태그까지 만들어놓고... 정말 쓸데없는 짓을 한 거야...import Leaf
public final class RawTag: TagRenderer {
public func render(tag parsed: TagContext) throws -> Future<TemplateData> {
try parsed.requireParameterCount(1)
return Future.map(on: parsed.container) {
if let string = parsed.parameters[0].string {
return .string(string)
} else {
return .null
}
}
}
}
Reference
이 문제에 관하여(Vapor3.0에서 Leaf 템플릿에서 HTML을 피하지 않고 내보내려는 경우), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/5t111111/items/064049fef43c2cee0d3b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)