본문 바로가기
프론트엔드

보안 개인정보 보호 noreferrer, noopener

by 느바 2025. 5. 2.
반응형

보안 개인정보 보호 noreferrer, noopener

HTML의 <a> 태그에서 rel 속성에 사용하는 noreferrer와 noopener는 보안 및 개인정보 보호와 관련된 중요한 값들입니다. 특히 링크가 target="_blank"일 때 매우 중요하게 작용합니다.


1. noopener

  • 역할: 새 창에서 열리는 페이지(예: target="_blank")가 원래 페이지의 JavaScript window 객체에 접근하는 것을 차단합니다.
  • 보안 이유: 원래 페이지를 제어하거나 피싱, 악성 코드 실행 등의 보안 위험을 막기 위해 사용됩니다.
<a href="https://example.com" target="_blank" rel="noopener">Example</a>

이렇게 하면, example.com은 window.opener를 통해 원래 페이지를 제어할 수 없습니다.


2. noreferrer

  • 역할: 위의 noopener의 효과를 포함하면서, 추가로 브라우저가 Referer 헤더를 전송하지 않도록 합니다.
  • 개인정보 보호: 방문한 사용자가 어느 페이지에서 링크를 클릭했는지 새 창에 전달되지 않음.
<a href="https://example.com" target="_blank" rel="noreferrer">Example</a>

이 경우, Referer 헤더도 전송되지 않고, window.opener도 null입니다.


차이점 정리

속성 window.opener 접근 가능 여부 Referer 헤더 전송 여부
없음 가능 전송함
noopener 불가능 전송함
noreferrer 불가능 전송 안 함
 

결론

  • 보안만 중요하면 → rel="noopener"
  • 보안 + 개인정보 보호까지 고려하면 → rel="noreferrer"
  • 실무에서는 종종 둘 다 같이 씀: rel="noopener noreferrer"

'프론트엔드' 카테고리의 다른 글

metatags.io  (0) 2025.05.03
js-cookie  (1) 2025.05.03
AWS 배포  (1) 2025.04.26
CloudFlare 배포 및 해제 (CloudFlare Pages 정적 사이트)  (0) 2025.04.26
배포 플랫폼 비교 Cloudflare, Vercel, AWS, Netlify  (0) 2025.04.20