Cara kerja pemeriksaan ini
Saat browser Anda meminta halaman ini, ia mengirim sekumpulan header sebelum apa pun. Server kami menangkap semuanya, mengubah namanya ke huruf kecil, mengurutkannya secara alfabetis, dan mencetaknya di tabel di atas, beserta metode permintaan dan versi protokol HTTP yang dipakai koneksi. Tidak ada yang disaring, dan tidak ada yang kami tambahkan; tabel adalah permintaan sebagaimana sampai ke kami.
Header dengan arti yang dikenal membawa catatan di kolom ketiga. Header yang menunjukkan proxy atau alat ditandai, dan ringkasan di atas tabel mencantumkannya terpisah, karena itulah yang penting bagi siapa pun yang memeriksa pengaturan proxy. Data yang sama tersedia sebagai JSON.
Halaman ini sengaja polos. Header adalah satu bagian permintaan yang tidak bisa disembunyikan dari server, sehingga daftarnya juga bagian pasif dari sidik jari browser Anda: informasi yang dikumpulkan situs dari setiap kunjungan tanpa menjalankan sebaris skrip pun. Tes sidik jari browser meng-hash set pasif itu dan menampilkannya di samping sinyal yang dikumpulkan skrip.
Cara membaca hasil Anda
| Kelompok | Header | Yang diungkapnya |
|---|---|---|
| Identitas | user-agent, sec-ch-ua, sec-ch-ua-mobile, sec-ch-ua-platform, dan sec-ch-* lainnya | Keluarga browser, versi, dan platform; halaman user agent menguraikannya |
| Preferensi | accept, accept-language, accept-encoding | Tipe konten, daftar bahasa dalam urutan preferensi, kompresi yang didukung; daftar bahasa dibandingkan dengan negara IP di skor anonimitas |
| Konteks permintaan | host, referer, origin, sec-fetch-site, sec-fetch-mode, sec-fetch-dest, sec-fetch-user, upgrade-insecure-requests, priority | Situs mana yang diminta, halaman mana yang menautkan ke sini, dan bagaimana browser mengklasifikasikan permintaan |
| Koneksi | connection, te, cache-control, pragma | Perilaku keep-alive dan caching; sebagian besar era HTTP/1.1 |
| Sinyal privasi | dnt, sec-gpc | Opt-out Do Not Track dan Global Privacy Control, jika diaktifkan; langka, sehingga menjadi ciri pembeda |
| Sesi | cookie | Hanya cookie situs ini |
| Proxy | via, x-forwarded-for, forwarded, x-real-ip, client-ip, x-proxy-id, proxy-connection, x-forwarded | Ditambahkan perangkat lunak proxy; sebagian membawa IP asli Anda |
| Edge | cf-connecting-ip dan sejenisnya | Ditambahkan CDN atau jaringan edge di depan situs |
Baris proxy adalah yang perlu ditindak. Browser tidak pernah mengirimnya. Jika ada yang muncul, sesuatu di antara browser Anda dan server kami menyisipkannya. X-Forwarded-For, Forwarded, X-Real-IP, dan Client-IP umumnya berisi alamat klien yang diteruskan proxy, yaitu alamat asli Anda; bandingkan nilainya dengan IP di detektor proxy dan, jika berbeda, alamat asli Anda diserahkan ke setiap situs yang Anda kunjungi. Via dan X-Proxy-ID tidak membawa alamat Anda tetapi mengumumkan adanya proxy. Skor anonimitas mengurangi 10 poin saat salah satunya ada.
Referer dan origin memberi tahu situs dari mana Anda datang. Pada kunjungan baru yang diketik di bilah alamat tidak ada referer; mengikuti tautan dari situs lain mengirim alamat situs itu, dipangkas sesuai kebijakan situs perujuk. Sec-Fetch-Site menyatakan apakah permintaan same-origin, same-site, cross-site, atau dimulai pengguna.
Accept-Language lebih mengungkap daripada tampaknya. Ia mencantumkan bahasa yang Anda konfigurasi dalam urutan preferensi, dengan varian regional. Daftar yang dimulai dengan bahasa yang tidak lazim untuk negara IP adalah ketidakcocokan lunak; bahasa Inggris di urutan pertama diterima di mana saja. Nilainya juga masukan sidik jari, karena daftar dan urutannya bervariasi antar-orang.
Client hints hanya muncul di browser Chromium. Yang berentropi rendah — merek, tanda mobile, dan platform — dikirim bersama setiap permintaan. Yang berentropi lebih tinggi seperti daftar versi lengkap, arsitektur, dan model hanya dikirim jika situs memintanya di respons sebelumnya.
Do Not Track dan Global Privacy Control dihormati sedikit situs, dan karena sedikit orang mengaktifkannya, keberadaannya membuat browser sedikit lebih khas.
Cara memperbaikinya
Ada header proxy
- Identifikasi sumbernya. Jika Anda menyetel proxy di browser atau sistem, itu proxy tersebut. Jika Anda tidak menyetel apa pun dan melihat Via atau X-Forwarded-For, ISP atau jaringan Anda menjalankan proxy atau cache transparan, umum di operator seluler dan kantor.
- Untuk proxy yang Anda kendalikan, alihkan ke mode yang tidak menambahkan header, sering disebut elite atau high-anonymity. Untuk proxy komersial, minta port elite atau pool lain ke penyedia; perilakunya per proxy, bukan per browser.
- Untuk proxy ISP transparan, VPN adalah jalan keluarnya: terowongan membawa permintaan Anda melewati proxy, yang hanya melihat lalu lintas terenkripsi.
- Muat ulang halaman ini. Ringkasan proxy harus menyatakan tidak ada, dan baris proxy di skor anonimitas harus lulus.
Header yang bertentangan dengan sisa pengaturan
- User agent yang menyebut satu platform sementara sec-ch-ua-platform menyebut yang lain berarti ekstensi atau profil menulis ulang salah satunya. Hapus override-nya atau gunakan profil yang menyetel keduanya bersama.
- Accept-Language yang tidak sesuai negara IP diperbaiki di pengaturan bahasa browser: Chrome dan Edge di Settings → Languages; Firefox di Settings → General → Language; Safari mengikuti daftar bahasa sistem.
Paparan referer
- Untuk berhenti mengirim halaman asal Anda ke situs lain, setel kebijakan referrer browser ke strict-origin-when-cross-origin, yang dipakai browser terkini secara default, atau ke no-referrer lewat ekstensi atau pengaturan network.http.referer Firefox di about:config.
Untuk developer dan skrip
- Minta versi JSON halaman ini dari alat Anda untuk melihat persis header mana yang dikirimnya. Skrip yang mengaku user agent browser tetapi tidak mengirim Accept-Language, header Sec-Fetch, maupun client hints mudah dibedakan situs dari browser.
- Tambahkan header secara eksplisit dengan opsi klien Anda, misalnya flag -H di curl, dan bandingkan keluaran JSON sebelum dan sesudah.
Batasan pemeriksaan ini
- Kami hanya melihat apa yang sampai ke server kami. CDN atau jaringan edge di depan sebuah situs bisa menghapus, menulis ulang, atau menambahkan header sebelum situs melihatnya.
- Hanya header permintaan. Header respons tidak ditampilkan; developer tools browser Anda menampilkan keduanya.
- Cookie terbatas per situs. Hanya cookie yang disetel situs ini yang muncul.
- Urutan header hilang. Kami mengurutkan secara alfabetis agar mudah dibaca. Sebagian sistem sidik jari memakai urutan asli header sebagai sinyal.
- Transport terenkripsi menyembunyikan header dari jaringan, bukan dari server. HTTPS mencegah siapa pun di jalur membaca header ini; ia tidak mencegah situs yang Anda kunjungi membacanya.
- Deteksi proxy berbasis header. Proxy yang tidak menambahkan header tak terlihat oleh pemeriksaan ini; jenis jaringan alamatnya dicakup detektor proxy dan pemeriksa IP.
Seperti apa kebocoran header proxy transparan
Proxy transparan berada di antara Anda dan internet dan meneruskan permintaan Anda dengan alamatnya sendiri, lalu menulis alamat asli Anda ke X-Forwarded-For atau Forwarded agar tujuan tetap bisa mencatat siapa yang bertanya. Tujuan melihat dua alamat: milik proxy sebagai sumber koneksi, dan milik Anda di header. Untuk proxy cache di ISP ini pembukuan yang tidak berbahaya. Untuk proxy yang Anda beli guna mengubah lokasi semu, ini menggagalkan tujuannya sepenuhnya, karena hal pertama yang dibaca situs yang teliti adalah header itu. Entri glosarium header proxy mencantumkan setiap header, siapa yang menambahkannya, dan nilai apa yang dibawanya.
Mengapa daftar header berbeda antar-browser
Setiap engine browser punya default sendiri: tipe Accept mana yang dicantumkan, apakah mengirim client hints, header Sec-Fetch mana yang disertakan, cara memformat Accept-Language, apakah mengirim header priority di HTTP/2 atau HTTP/3. Perbedaannya cukup besar sehingga server biasanya bisa menyebut keluarga browser hanya dari set header, bahkan tanpa user agent. Itulah sebabnya menulis ulang user agent tidak cukup untuk tampak seperti browser lain.
Membaca header dari skrip atau baris perintah
Jika Anda memelihara scraper, alat pemantauan, atau integrasi, keluaran JSON halaman ini adalah cara tercepat melihat apa yang Anda kirim. Arahkan alat ke halaman ini dengan header Accept application/json dan bandingkan hasilnya dengan yang dikirim browser: browser mengirim selusin header dalam pola yang dikenali, dan klien polos mengirim dua atau tiga. Alat yang jujur lebih baik mengidentifikasi diri secara terang dan menghormati batas laju daripada meniru browser secara tidak lengkap.