저는 프레임 워크에 익숙해지는 방법으로 Yesod를 사용하여 저의 (꽤 간단한) 웹 사이트를 다시 작성했습니다. 그 중 일부는 단순하지만 정적 인 (그러나 형식화 된) 컨텐츠를 제공하는 것을 포함합니다. 모든 사용자 입력 "는 XSS-살균 패키지 덕분에이 책이 말하는 것처럼 그것은, 간단한 서식을 허용하고Yesod의 nicHtmlField를 수정하는 또 다른 방법이 있습니까?
http://www.yesodweb.com/book/forms
: 나는 Yesod 책에서 설명하는 nicHtml 필드를 사용하기로 결정 수행 XSS 공격이없는 것으로 확인되고 보장됩니다. "
그러나 모두 좋지 않습니다. 일부 서식 지정은 필드에 입력 할 때 작동하는 것으로 보이지만 항목과 제출 사이의 어떤 부분은 지워집니다. 특히, 양식은 '스타일'속성에 포함 된 CSS를 사용하여 가운데 텍스트와 같은 작업을 수행하며,이 CSS 기반 서식 지정 요소는 사라지게됩니다.
필자는 print 문을 사용하여 내 코드가 아닌 것을 확인했습니다. 이후 xss-sanitize는 포함 된 CSS가 마음에 들지 않아 그것을 제거하지 않는다고 가정합니다. sanitizeBalance에 대한 호출을 제거하기 위해 Yesod.Form.Nic을 수정하면 문제가 해결 된 것으로 보입니다.
정적 인 페이지를 편집 할 때 신뢰할 수있는 사용자 (즉, 지금은 내게 있어야 함)가 필요하므로 여기에 그대로두면 좋을 것입니다. 그래서 나는 끔찍한 점을 확인하는 것에 별 관심이 없습니다. 그러나 그것은 마치 해킹 인 것처럼 느껴져서 제 질문은 -이 문제를 둘러싼 다른 방법이 있습니까? 또는 Yesod에 대해 깨진 HTML 편집기 필드를 제공하지 않는 다른 패키지가 있습니까?
이 소리는 Yesod에서 해결해야합니다. [이슈 트래커] (https://github.com/yesodweb/yesod/issues)에보고 할 수 있습니다. – hammar