inflearn logo
강의

Course

Instructor

Next.js Complete Mastery (v15): Building a Notion-Based Developer Blog (with Cursor AI)

How to install remark and rehype plugins

rehype-sanitize 설치의 필요성

92

mrjbk777904

13 asked

0

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

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

react 블로그 next.js cursor cursorai

Answer 2

0

gymcoding

맞아요~!

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

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

 

 

 

0

communityai8509

안녕하세요, 인프런 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

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

Notion API-DB 연결이 안돼요

0

542

2

private folders 와 전역 폴더

0

70

2

퀴즈 질문 풀이 오류

0

86

2

Streaming 관련해서 문의드립니다.

0

74

2

ISR 매커니즘에 대한 궁금증

0

68

2

cursor AI 프로젝트 룰 관련 질문 드립니다.

0

344

2

params 에 Promise 객체 타입이 지정되어야 하는 이유? 최신?

0

76

1

streaming 페이지 보완 필요

1

56

2

remark-gfm

0

111

2

마크업 파트 가독성 향상 방법

0

63

2

Next.js 블로그 결과물 공유 이벤트 진행 여부

0

69

1

블로그 PostCard 이미지 상단 여백

0

70

3

flex-col 과 space-y-6 차이

0

118

1

컴파일 에러 및 의존성 충돌 문제

0

106

2

TypeError: Invalid URL

0

172

2

세션 6의 퀴즈 5번 정답 옵셔널 캐치올 아닌가요?

1

73

2

상세 페이지 404 에러 발생

0

113

2

스타일이 적용 안되는 문제

0

96

2

cursorAI에 rule 생성 시 rule type이 안 나오는 현상 발생

0

177

3

클라이언트 컴포넌트 사전 렌더링

0

52

2

상세페이지 구현 Author의 name 프러퍼티가 조회가 안됩니다.

1

71

2

A

0

94

2

unstable_cache 사용 시 적정 revalidate 값 문의

0

91

2

useActionState에서 반환값 필드 생략 시 조건에 따라 에러 발생 여부가 다른 이유

0

85

2