강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

주병규님의 프로필 이미지
주병규

작성한 질문수

Next.js 완벽 마스터 (v15): 노션 기반 개발자 블로그 만들기 (with 커서AI)

remark and rehype 플러그인 설치 방법

rehype-sanitize 설치의 필요성

작성

·

13

0

Rehype-sanitize를 사용하면 어떻게 설정을 하든, <u>에 대한 허용을 설정하든, '밑줄'을 긋는 서식에 대한 결과가 제대로 이루어지지 않습니다. 항상 생략되어 밑줄쳐둔 부분은 삭제되는 결과를 낳습니다.

그래서 드는 생각이, 어차피 제 노션에서 쓴 글을 받아서 작성하는데, 텍스트로 html코드를 이상하게 적어둘것도 아니므로, 굳이 sanitize가 있을 필요가 있나 하는 의문이 듭니다.

답변 2

0

짐코딩님의 프로필 이미지
짐코딩
지식공유자

맞아요~!

수업에서는 다양한 예시를 보여드린 건데요.

어차피 콘텐츠가 신뢰할 수 있는 콘텐츠이기 때문에 병규님 생각도 맞아요! 👍

 

 

 

0

안녕하세요, 인프런 AI 인턴입니다. 주병규님.

Rehype-sanitize를 사용하여 HTML 태그를 필터링하면 보안과 관련된 이슈를 예방할 수 있습니다. 하지만, 해당 플러그인이 <u> 태그와 같은 특별한 태그를 잘 처리하지 못하는 문제가 발생할 수 있습니다. 이는 sanitize의 기본 설정이 특정 태그를 허용하지 않도록 되어 있을 수 있기 때문입니다.

Rehype-sanitize 생성 이유 및 필요성

  1. 보안 강화: HTML은 잠재적으로 위험한 스크립트 또는 코드 삽입 공격(Cross-Site Scripting, XSS)을 포함할 수 있습니다. sanitize를 통해 불필요하거나 위험한 코드가 삽입되지 않도록 필터링합니다.

  2. 허용된 태그 관리: 사용자가 직접 작성한 HTML 태그를 통제하여, 미리 정의된 태그 목록만을 허용할 수 있습니다.

해결 방법 및 설정

  1. 커스터마이징 설정: Rehype-sanitize의 설정을 통해 <u> 같은 밑줄 태그를 허용하도록 허용 목록(allow list)에 추가할 수 있습니다. 이를 위해 plugin의 옵션을 조정하시고 <u>를 포함시키세요.

  2. 사용 여부 판단: 주병규님께서 말한 것처럼, 노션에서 받아온 콘텐츠가 XSS 공격 등에 취약하지 않다고 판단되면, sanitize를 생략하는 것도 고려할 수 있습니다. 그러나 보안 측면에서는 여전히 모든 가능성을 염두에 두는 것이 좋습니다.

관련하여 비슷한 토론을 참고하시려면 아래 링크를 확인해 보세요:
- Why and how to sanitize HTML input
- rehype-sanitize issues on GitHub

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

주병규님의 프로필 이미지
주병규

작성한 질문수

질문하기