리퍼러를 목적지로 보내는 링크 중지
아웃 바운드 링크가 리퍼러를 보내지 않기를 바라는 페이지가있어서 목적지 사이트가 어디에서 왔는지 알지 못합니다.
나는 이것이 가능하지 않다고 생각하지만 나는 그것을 할 수있는 숨겨진 자바 스크립트 마법이 없었고 일부 (대부분은 아니지만) 브라우저에서 작동하는지 확인하고 싶습니다.
아마도 kung-fu를 리디렉션하는 영리한 HTTP 상태 코드일까요?
이런 게 완벽 할거야
<a href="example.com" send_referrer="false">link</a>
나는 똑같은 것을 찾고 있었고 이것이 HTML5의 기능이 될 것 같습니다 .
찾고있는 태그는 rel="noreferrer"
입니다.
Webkit (Chrome 등) 및 Firefox 에서 이미 구현되어 있지만 마일리지는 다를 수 있습니다.
2015 년 이후에 방문하는 모든 사람을 위해 이제 적절한 솔루션이 지원을 받고 있습니다.
HTTP Referrer Policy 사양을 사용하면 링크 및 하위 리소스 (이미지, 스크립트, 스타일 시트 등)에 대한 참조 자 전송을 제어 할 수 있으며 현재 Firefox, Chrome, Opera 및 Desktop Safari 11.1 에서 지원 됩니다.
에지, 이전 11.1 지원 사파리의 IE11, iOS의 사파리, 데스크톱 버전과 사양의 이전 버전 never
, always
, origin
, 및 default
옵션 등.
spec 에 따르면 여러 정책 값을 지정하여 지원할 수 있습니다. 인식 할 수없는 것은 무시되고 마지막으로 인식 된 것이 승리합니다.
<meta name="referrer" content="never">
<meta name="referrer" content="no-referrer">
또한, 당신이에 적용 할 경우 audio
, img
, link
, script
, 또는 video
필요 태그 crossorigin
속성, 선호 crossorigin="anonymous"
가능한 경우에만 최소한으로 (그렇게하는 것이, Origin
헤더) 공유됩니다.
( Origin
CORS를 사용하는 동안에는 헤더를 제거 할 수 없습니다 . 원격 사이트는이를 허용하거나 거부하기 위해 어떤 도메인이 요청을하고 있는지 알아야하기 때문입니다.)
HTML 5가 포함 rel="noreferrer"
되어있는, 모든 주요 브라우저에서 지원 . 따라서 이러한 브라우저의 경우 간단히 다음과 같이 작성할 수 있습니다.
<a href="example.com" rel="noreferrer">link</a>
다른 브라우저에서 사용할 수있는 shim도 있습니다 : https://github.com/knu/noreferrer
Bigmack은 올바른 길을 가고 있지만 자바 스크립트 위치 변경은 여전히 Firefox에서 리퍼러를 보냅니다. 메타 새로 고침을 사용하면 문제가 해결되는 것 같습니다.
<a href='data:text/html;charset=utf-8, <html><meta http-equiv="refresh" content="0;URL='http://google.com/'"></html>'>Link</a>
나는 이것도 알아 내려고 노력했다.
내가 생각한 해결책은 데이터 URL을 사용하여 내가 오는 실제 페이지를 숨기는 것입니다.
<a href='data:text/html;charset=utf-8, <html><script>window.location = "http://google.ca";</script></html>'>Link</a>
이 링크는 다른 페이지를로드하기 위해 자바 스크립트 만 포함하는 페이지를 엽니 다. 내 테스트에서 최종 목적지에 대한 리퍼러는 제공되지 않습니다. 어쨌든 시도하면 리퍼러로 무엇을 보낼 수 있는지 모르겠습니다. 아마도 데이터 URL입니까? 당신이 어디에서 왔는지 알려주지 않을 것입니다.
이것은 Chrome에서 작동합니다. Chrome은 현재 문제에 대한 유일한 관심사이지만 데이터 URL 인 페이지에서 자바 스크립트를 좋아하지 않는 브라우저에 대한 것입니다. 메타 새로 고침을 시도 할 수 있습니다.
이미 제공된 정보 외에. 주제에 대한 자세한 정보는 https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer
특히 동일 출처 또는 교차 출처 요청에 대해 다른 규칙이 필요한 경우 추천 정보를 보내거나 보내지 않을 수 있습니다.
특정 사용 사례에 따라 고려해야 할 사항입니다. 즉, 타사 웹 사이트에서 이미지 / css / javascript를 가져 오는 경우이 작업을 수행하는 URL을 식별하지 않기를 원할 수 있으므로 no-referrer 옵션을 사용합니다. 자신의 웹 사이트에서 다른 웹 사이트로 링크하는 경우 트래픽을 보내고 있음을 알리고 싶을 수 있습니다. 항상 이것의 의미를 양쪽에서 생각하십시오. 이 두 영역에 충돌이있는 경우 URL 끝에 UTM 추적 매개 변수를 추가하는 등 일부 사용자에게 유용 할 수있는 다른 옵션이 있습니다. 전체 세부 정보 : https://www.contradodigital.com/2014/06/03/importance-utm-tracking-parameters-social-media/
ReferenceURL : https://stackoverflow.com/questions/5033300/stop-link-from-sending-referrer-to-destination
'Development Tip' 카테고리의 다른 글
IE에서 필터를 제거하려면 어떻게합니까? (0) | 2021.01.09 |
---|---|
SSH를 통해 EC2 서버에 접속하면 오류가 발생합니다. 루트 사용자가 아닌 ec2-user 사용자로 로그인하십시오. (0) | 2021.01.09 |
bash for 루프에서 명령 줄 인수 범위를 사용하면 인수가 포함 된 대괄호가 인쇄됩니다. (0) | 2021.01.09 |
currentTimeMillis를 읽을 수있는 날짜 형식으로 변환하는 방법은 무엇입니까? (0) | 2021.01.09 |
GridLayoutManager 및 RecyclerView로 열 수 변경 (0) | 2021.01.09 |