(어떻게) 웹 사이트에서 Safari 개인 브라우징이 켜져 있는지 확인할 수 있습니까?


11

Mavericks의 Safari에서 개인 브라우징 모드를 끄지 않으면 일부 사이트 기능이 차단되거나 성능이 저하 될 것이라는 대화 상자가 웹 사이트에서 때때로 나타납니다. 대부분의 사용자는 개인 정보 보호 브라우징을 비공개로 사용할지 여부를 선택할 것으로 예상합니다. 다른 주요 브라우저는 개인 브라우징 상태를 웹 사이트로 유출하지 않습니다.

개인 브라우징 모드에있는 동안 Safari는 파비콘을 요청하지 않으므로 이론적으로 사이트는 파비콘의 캐싱을 차단하고 개인 브라우징이 켜져있는 것으로 추측 할 수 있습니다.

반대로 iOS에서 Safari는 즐겨 찾기 아이콘을 전혀 요청하지 않습니다. 그러나 개인 정보 보호 브라우징 모드에서도 공유 패널에 액세스하면 "애플 터치 아이콘"을 요청합니다 (애플 터치 아이콘은 나중에 "홈 화면에 추가"하면 홈 화면 아이콘으로 사용됨) URL).

즐겨 찾기 아이콘 외에, 웹 사이트가 데스크탑 Safari에서 개인 브라우징 모드를 사용하고 있다고 판단 할 수있는 다른 알려진 방법이 있습니까?


예제 웹 사이트를 제공 할 수 있습니까?
sayzlim

예 : video.pbs.org "오류가 발생했습니다.이 웹 사이트를 최대한 활용하려면 개인 정보 보호 브라우징이 꺼져 있는지 확인하십시오."
pseudon

웹 사이트가 DNT = 1 또는 일부 트래커 차단과 같은 다른 요소를 차단하고있을 수 있습니다. 이 경우 오류 메시지가 잘못된 것입니다. 그러나 다른 사이트에서도 비슷한 것을 얻었습니다.
pseudon

1
방금 DNT와 블로킹 확장 프로그램을 테스트했지만 그 요소는 중요하지 않습니다. 모든 확장 기능이 꺼져 있고 DNT가 설정되어 있지 않은 개인 정보 보호 모드에서 여전히 오류 대화 상자가 나타납니다. 그러나 개인 브라우징을 해제하고 DNT = 1 및 (차단) 확장 기능을 설정하면 오류가 발생하지 않습니다.
pseudon

사이트에서 개인 정보 보호 모드에 있음을 알리고 싶지 않은 이유는 무엇입니까? 우리는 웹 기반 응용 프로그램은 indexeddb, appcache, 로컬 저장소, 웹 작업자 및 개인 정보 보호 모드에서는 사용할 수없는 다양한 HTML5 기능에 크게 의존하기 때문에 해당 구성에서 완전히 작동하지 않습니다. 따라서 귀하가 요청하는 것은 웹 응용 프로그램이 작동하지 않도록 사용자에게 브라우저를 구성했다는 사실을 알리는 방법입니다. 그 가치는 무엇입니까? (이 이해가되지 않는 이유를 진정 이해하지 않으면 당신은 사이트 모르고 의해 피해되지 않습니다.
user3343404

답변:


14

iOS에서 HTML5의 로컬 저장소는 비공개 브라우징 모드에서 사용할 수 없습니다. 즉, 로컬 저장소에 무언가를 저장하려고 시도하고 다음 JavaScript로 예외를 포착하여이를 감지 할 수 있습니다.

try { localStorage.test = 2; } catch (e) {
  alert('You are in Private Browsing mode');
}

https://stackoverflow.com/a/17741714/ 에서 수정 됨

OS X에는 정식 방법이 없지만 유용한 정보를 제공해야합니다.

구현 지침을 찾고 있다면 대신 스택 오버플로를 시도해야합니다.


감사. 나는 어두운 측을 방어하는 데 도움이 될 정도로만 서버 측 구현에 관심이있다;)
pseudon

2
그러나 오 탐지에주의하십시오. 제공된 JavaScript 스 니펫은 해당 오리진에 대한 로컬 스토리지 로커가 가득 찬 경우 비 개인용 모드로 경고를 표시합니다.
Mathias Bynens


4

Safari의 개인 브라우징은 다른 브라우저 개인 브라우징 과 같은 방식으로 작동하지 않습니다 .

예를 들어 Chrome의 시크릿 모드는 탐색 세션 후에 모든 데이터가 삭제되는 별도의 새 세션을 만듭니다 (웹 사이트는 해당 모드의 IP 주소에서 작업을 추적 할 수 있음).

Safari는 웹 사이트에서 파일을 로컬로 작성 / 작성하는 것을 금지하고 있지만이 탐색 세션 동안 브라우저의 활동을 포함하여 쿠키에 대한 모든 변경 사항을 버립니다 (웹 사이트는이 세션에서 쿠키를 저장 한 것을 제외하고는이 모드에서 활동을 추적 할 수 있음) 버림).

그렇다면 개인 브라우징을 켰는 지 웹 사이트는 어떻게 알 수 있습니까? 파일을 로컬로 쓸 수 있는지 확인하기 때문 입니다.


Safari는 비공개 브라우징 세션 내에서 쿠키를 허용합니다. 개인 정보 보호 브라우징을하는 동안 웹 사이트에 로그인 할 수 있으며 평소에하는 모든 작업을 수행 할 수 있으며, 이와 같은 대화 상자가 나타나는 경우를 제외하고는 제한이 없습니다.
pseudon

네, 내 대답을 약간 수정했습니다. 비공개 브라우징을 끈 후에이 세션 동안 쿠키가 저장되지 않습니다.
sayzlim
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.