캔버스 지문이 뭔가요?
페이지가 보이지 않는 캔버스에 글자와 도형을 그리고, 그 픽셀을 다시 읽어 고정된 코드(해시)로 만든 거예요. 같은 컴퓨터에서는 매번 같고 컴퓨터마다 달라서, ID처럼 쓰여요.
두 컴퓨터에 같은 글자와 도형을 그리게 하면 픽셀이 조금씩 다르게 나와요. 그래픽 카드, 드라이버, 글꼴, 안티에일리어싱이 저마다 흔적을 남기거든요. 사이트는 이 그림을 고정된 코드(해시)로 만들어 지문으로 써요. 내 지문과, 브라우저가 이를 뒤섞는지 보여 드려요.
인앱 브라우저로 열었어요. 아래 결과는 이 인앱 브라우저의 것이에요. 평소 쓰는 브라우저를 확인하려면 링크를 복사해 Safari나 Chrome에서 여세요.앱 안의 브라우저로 열었어요. 아래 결과는 이 인앱 브라우저의 것이에요. 평소 쓰는 브라우저를 확인하려면 링크를 복사해 Safari나 Chrome에서 여세요.WeChat에서 열었어요. 아래 결과는 WeChat 내장 브라우저의 것이에요. 평소 쓰는 브라우저를 확인하려면 오른쪽 위 ···를 눌러 '브라우저에서 열기'를 고르세요.
口口口口口口口口口口口口, 지금은 口口口口口口口口口口口口口口口口口口口口口口에 있어요. 평소 쓰는 언어는 口口口口口口口, 컴퓨터 시간대는 口口口口口口, 시계는 口口口口口口 표시예요.
口口口口口口口口口口口口口口口口口口口口口口口口口口口口
지금 口口口口口口口口에서 口口口口口口口口口口口口 브라우저를 쓰고 있어요. 화면 口口口口口口口口口口口, 그래픽 카드 口口口口口口口口口口 조합으로 보면 口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口.
인터넷은 口口口口口口口口 회선으로 연결돼요. 口口口口口口口口口口口口口口口口口口口口. 口口口口口口口口口口口口口口口口口口口. 사이트 주소를 찾아 주는 DNS 서버는 口口口口口에 있어요. 口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口.
화면 테마는 口口口口口口, 口口口口口口口口. 口口口口口口口口口口口口口口口口口. 口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口. 설치된 글꼴이 주는 힌트: 口口口口口口口口口口. 나이는 口口口口口口口口口口口口口口口口口口口口口口.
사이트가 보기에 이건 口口口口口口口口口口口口口口口口口口口口口口口口口口. 口口口口口口口口口口口口口口口口口口口口口口口口口. 이 페이지는 口口口口口口口口口口口口에 열었고, 口口口口口口口口口口口, 브라우저 설정은 口口口口口口口口口口.
다른 사람들과 비교하면, 口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口.
비트가 많을수록 드물어요. 1비트마다 나와 같은 사람이 절반으로 줄어요. 항목끼리는 서로 독립적이지 않아서(4K 화면과 고성능 그래픽카드는 자주 함께 나와요) 전체 지문은 각 항목을 곱하지 않고 자체 실제 횟수로 셌어요.
나와 같은 사람이 얼마나 되는지 알려 주려고 익명 집계만 남겨요. IP, 원본 지문, 한 번 한 번의 방문 기록은 저장하지 않아요. ·
CF-Connecting-IPrequest.cf.cityrequest.cf.latituderequest.cf.asOrganizationedns.ip-api.comrequest.cf.timezoneDNS PTRrequest.cf.colorequest.cf.tlsVersion/cdn-cgi/trace · kex, sni/cdn-cgi/trace · warpTLS ClientHelloprobe.zs.al · TCP SYNprobe.zs.al · JA4probe.zs.al · HTTP/2 SETTINGSprobe.zs.al · HTTP/3 · QUIC JA4Date.now()RTCPeerConnection · STUNWebRTC host candidateIPv6 EUI-64 (ff:fe)1.1.1.1 · /cdn-cgi/tracechatgpt.com/cdn-cgi/traceclaude.ai/cdn-cgi/tracewww.cloudflare.com/cdn-cgi/traceCloudflare Radar · IPv4 / IPv6User-AgentAccept-LanguageSec-CH-UASec-CH-UA-PlatformAccept-EncodingDNT · Sec-GPCReferer · document.referrernavigator.languagesIntl.DateTimeFormatIntl …timeZoneIntl …hourCycleIntl.Locale weekInfoIntl.NumberFormatIntl.supportedValuesOfnavigator.keyboardspeechSynthesisError.messageJS feature probesFunction.prototype.toString · iframeCSS.supportscanvas text antialiasingcanvas.toDataURLWebGL getParameterOfflineAudioContextMath.* → SHA-256emoji measureTextfonts → SHA-256getClientRects · RangeSVG getBBox · getComputedTextLengthmeasureText actualBoundingBoxWebGL readPixelswindow · HTMLElement · CSS keysperformance.now() resolutionrecursion depthSHA-256screen · cores · GPU · fonts → SHA-256HTTP cache · ETag / If-None-Matchcanvas × 2navigator.brave · noise · liesuserAgentDatauserAgentData.brands…architecture · bitnessscreen · devicePixelRatiorequestAnimationFramescreen.isExtended · screenXinnerWidth · availHeightoffsetWidth − clientWidthWebGL RENDERERnavigator.gpu adapter.infoGPUAdapter limits · featuresWebGL2 · MAX_TEXTURE_SIZEhardwareConcurrencynavigator.deviceMemoryperformance.memorymaxTouchPoints · pointernavigator.getBatterygeolocation (on request)devicemotion (on request)navigator.connectionenumerateDevicesAudioContext.sampleRatePublicKeyCredentialbluetooth.getAvailabilityMediaSource.isTypeSupportedRTCRtpSender.getCapabilitiesMediaRecorder.isTypeSupportedmediaCapabilities.decodingInforequestMediaKeySystemAccessstorage.estimateprefers-color-schemeprefers-reduced-motioncolor-gamut · dynamic-rangeprefers-contrast · forced-colorsfont-size: medium · AccentColordisplay-modedoNotTrack · GPCnavigator.cookieEnabledpermissions.queryusb · serial · hid · IdleDetector …pdfViewerEnablednavigator.webdriverWorker · navigatorbait element7 tracker scripts (on request)window.ethereum · DOM markschrome-extension:// fileshistory.lengthlocalStorage · IndexedDB · Cache · window.namecanvas measureText페이지가 보이지 않는 캔버스에 글자와 도형을 그리고, 그 픽셀을 다시 읽어 고정된 코드(해시)로 만든 거예요. 같은 컴퓨터에서는 매번 같고 컴퓨터마다 달라서, ID처럼 쓰여요.
Canvas, WebGL, 오디오에 무작위 잡음을 섞는 브라우저를 쓰세요. Brave는 기본으로 그렇게 하고, Firefox는 resistFingerprinting을 켜면 돼요. 두 번 그린 결과가 달랐는지는 '지문 보호' 줄에서 볼 수 있어요.
그리기 함수를 감싸서 막아 주는 것도 있어요. 다만 그 자체가 눈에 띌 수 있어요. 브라우저 환경 검사는 바꿔치기된 함수를 잡아내요.