Teks & alat harian · Kit Alat QR & Kod Bar
Perkara yang berlaku apabila anda menjana kod QR dalam pelayar anda, bukan pada pelayan
· Bagaimana ia berfungsi
kod qr privasi pemprosesan pelayar
Membezakan penjana QR yang diberikan pelayan dengan penjana yang berfungsi sebagai JavaScript dalam tab, menunjukkan dengan tepat data yang meninggalkan peranti anda dalam setiap kes dan cara mengesahkannya sendiri.
Generasi tempatan dan terpencil adalah seni bina yang berbeza; repositori ini sahaja membuktikan laluan setempat ToolAcre
Dua halaman boleh memaparkan imej QR yang sama semasa menggunakan laluan data yang berbeza. Sumber ToolAcre membuktikan bahawa penjananya menyerahkan teks ke bahagian pelayar JavaScript, menerima matriks dalam memori dan menjadikannya secara setempat; ia tidak membuktikan bagaimana perkhidmatan yang tidak berkaitan berfungsi.
Perbezaannya boleh dilihat pada sempadan fungsi. `buildPayload` mengembalikan rentetan ditambah nota dan amaran; `generateQrMatrix` menggunakan rentetan itu; `renderQrSvg` atau `drawQrToCanvas` menggunakan matriks boolean. Tiada yang menerima respons pelayan atau imej jauh URL. Tapak yang berbeza mungkin menggunakan seni bina berasaskan permintaan, tetapi mendiagnosisnya memerlukan pemerhatian tapak itu daripada menganggap "penjana dalam talian" sebagai satu pelaksanaan yang seragam.
Penjana jauh boleh menerima teks muatan, tetapi tingkah laku pengelogan perkhidmatan lain memerlukan bukti yang berasingan
Seni bina yang diberikan pelayan semestinya menghantar maklumat yang mencukupi untuk proses jauh untuk membuat imej, tetapi pengekalan log, caching dan analitik berbeza mengikut perkhidmatan. Anggap tingkah laku tersebut sebagai soalan untuk penyedia itu dan bukannya mengemukakan andaian sebagai fakta yang diperhatikan.
Titik akhir jauh memerlukan muatan atau perwakilan yang setara sebelum ia boleh menghasilkan modul khusus muatan. Perkara yang berlaku selepas penerimaan masih tidak diketahui tanpa bukti: satu perkhidmatan mungkin membuang permintaan, satu lagi mungkin mengekalkan log aplikasi, dan satu lagi mungkin meletakkan data dalam laporan ralat. Oleh itu, artikel ini mengajar pemeriksaan aliran data, bukan dakwaan bahawa setiap penjana pelayan menyimpan teks yang diserahkan.
Laluan sisi pelayar — teks dikodkan kepada aliran bit, pembetulan ralat ditambah dan grid dilukis, semuanya di dalam halaman
Dalam ToolAcre, TextEncoder mencipta UTF-8 bait, qrcode-generator membina matriks dan SVG tempatan atau modul lukisan kod kanvas. Fungsi tersebut menerima nilai yang telah disimpan dalam halaman dan tidak mengandungi panggilan ambil yang membawa muatan.
Perenderan tempatan juga mengekalkan pembinaan eksport dalam proses yang sama. SVG dipasang sebagai penanda terlepas dengan larian mendatar digabungkan; PNG dilukis ke kanvas dengan segi empat tepat modul integer dan dimuat turun sebagai gumpalan yang dibuat oleh pelayar. Output tidak tiba dalam respons HTTP. Mekanisme itu adalah bukti yang lebih kukuh daripada ikon kunci, yang melindungi sambungan tetapi tidak mengatakan apa-apa tentang perkara yang dilakukan oleh pelayan penerima.
Cara menyemak sendiri — membuka panel rangkaian pelayar, menjana kod dan melihat permintaan yang tidak pernah muncul
Buka alat pembangun sebelum memasukkan rentetan ujian tersendiri, kosongkan senarai permintaan, jana kod dan cari URL dan badan permintaan untuk rentetan itu. Ini mengesahkan dakwaan sempit bahawa penjanaan tidak menghantar muatan semasa sesi pemerhatian anda.
Gunakan kedua-dua senarai permintaan dan bukti sumber. Kosongkan panel selepas halaman dimuatkan, jana daripada penanda unik yang tidak berbahaya dan periksa permintaan baharu untuk penanda dalam URL, muatan dan data borang. Kemudian sahkan laluan penjanaan tiada pengambilan atau panggilan XHR. Sama ada pemeriksaan sahaja adalah lebih lemah: pemerhatian masa jalan ialah satu sesi, manakala pemeriksaan statik boleh terlepas gelagat penggunaan yang disuntik.
Sumber halaman pihak ketiga dan penghantaran muatan adalah soalan berasingan yang tidak boleh digabungkan
Halaman masih boleh meminta skrip, fon, pengiklanan atau analitik tanpa menghantar teks yang dikodkan. Sebaliknya, senarai yang kelihatan kosong bukanlah bukti tentang pemuatan halaman sebelumnya, sambungan pelayar atau perubahan penggunaan masa hadapan, jadi skop kesimpulan dengan teliti.
Panel alat fokus repositori mengatakan penjana tidak membuat permintaan rangkaian, manakala kontrak penerbitan yang lebih luas memberi amaran bahawa halaman pengeluaran boleh memuatkan sumber tapak yang diurus dengan persetujuan. Kedua-duanya boleh benar kerana pengendalian muatan dan penghantaran halaman adalah aliran yang berasingan. Laporkan dengan tepat perkara yang dicari dan bila. "Penanda tidak hadir dalam permintaan penjanaan" boleh diterbitkan semula; "halaman tidak mempunyai tempat untuk bocor" adalah lebih luas daripada bukti.
Contoh yang berjaya: tapis log rangkaian untuk muatan ujian dan bukannya mengharapkan halaman yang senyap sepenuhnya
Gunakan contoh berbentuk intranet yang tidak berbahaya seperti https://intranet.invalid/menu-check-47, kemudian tapis log rangkaian untuk semak menu-47. Bukti yang dijangkakan bukanlah permintaan yang menanggung beban, bukan janji bahawa setiap sumber halaman hilang.
Contohnya, masukkan `https://intranet.invalid/menu-check-47`, jana, kemudian cari butiran permintaan yang ditangkap untuk `menu-check-47`. Periksa juga pratonton muatan untuk mengesahkan pembina tidak menggantikan alamat lain secara senyap. Keputusan yang jelas menunjukkan bahawa nilai tersendiri yang sama berpindah dari bentuk ke matriks secara tempatan semasa langkah penjanaan yang diperhatikan. Ia tidak memperakui sambungan pelayar, permintaan awal atau binaan penggunaan masa hadapan.
Perkara ini tidak meliputi: perkongsian imej kemudian, sumber penggunaan atau alat rangkaian yang tidak berkaitan
Generasi tempatan tidak mengawal tempat imej yang dieksport dimuat naik, cara pelayan destinasinya mencatat lawatan, atau alat media ToolAcre yang tidak berkaitan mungkin diambil mengikut reka bentuk. Ia juga tidak menjadikan rahsia selamat selepas seseorang mengimbas kod bercetak.
Imej akhir ialah salinan mudah alih data. Memuat naiknya ke sistem dokumen, menghantar e-mel atau mencetaknya boleh mendedahkan muatan kepada orang baharu walaupun penjanaan adalah tempatan. URL yang dinyahkodkan juga menghubungi destinasinya apabila diimbas. Pemprosesan tempatan mengalih keluar satu pemproses daripada penciptaan; ia tidak menukar kod QR yang mengandungi kata laluan atau alamat dalaman kepada storan yang disulitkan.
Bawa pulang — Kit Alat QR & Kod Bar melaksanakan keseluruhan tugas dalam tab anda, yang boleh anda sahkan dalam masa kurang seminit
Sifat privasi yang berguna adalah tepat: Pengekodan dan pemaparan QR beroperasi secara setempat dalam pelaksanaan yang diperiksa. Sahkan sifat itu terhadap halaman yang digunakan apabila muatan adalah sensitif dan lebih suka perisian luar talian untuk bukti kelayakan dengan model ancaman yang ketat.
Untuk pautan biasa, generasi tempatan menawarkan laluan yang mudah dan boleh diperiksa. Untuk bukti kelayakan atau data terkawal, pertimbangkan sama ada imej QR harus wujud sama sekali dan gunakan alat luar talian jika sumber halaman berada di luar model ancaman. Tuntutan privasi hendaklah mengikut kitaran hayat yang lengkap—kemasukan, penjanaan, muat turun, perkongsian, pengimbasan dan destinasi—tidak berhenti selepas mengesahkan bahawa pengekod itu sendiri tidak mempunyai panggilan rangkaian.