Teks & alat sehari-hari · Perangkat QR & Kode Batang
Apa yang terjadi jika Anda membuat kode QR di browser Anda, bukan di server
· Cara kerjanya
kode qr pribadi pemrosesan browser
Bandingkan generator QR yang dirender di server dengan generator yang berjalan sebagai JavaScript di tab, yang menunjukkan dengan tepat data apa yang meninggalkan perangkat Anda dalam setiap kasus dan cara memverifikasinya sendiri.
Generasi lokal dan generasi jarak jauh memiliki arsitektur yang berbeda; repositori ini hanya membuktikan jalur lokal ToolAcre
Dua halaman dapat menampilkan gambar QR yang sama saat menggunakan jalur data yang berbeda. Sumber ToolAcre membuktikan bahwa generatornya menyerahkan teks ke sisi browser JavaScript, menerima matriks dalam memori dan merendernya secara lokal; itu tidak membuktikan cara kerja layanan yang tidak terkait.
Perbedaannya dapat dilihat pada batas fungsinya. `buildPayload` mengembalikan string ditambah catatan dan peringatan; `generateQrMatrix` menggunakan string itu; `renderQrSvg` atau `drawQrToCanvas` menggunakan matriks boolean. Tidak ada yang menerima respons server atau gambar jarak jauh URL. Situs yang berbeda mungkin menggunakan arsitektur berbasis permintaan, namun untuk mendiagnosisnya memerlukan pengamatan terhadap situs tersebut daripada memperlakukan “generator online” sebagai satu implementasi yang seragam.
Generator jarak jauh dapat menerima teks payload, namun perilaku logging layanan lain memerlukan bukti terpisah
Arsitektur yang dirender oleh server harus mengirimkan informasi yang cukup untuk proses jarak jauh dalam membuat gambar, namun retensi log, cache, dan analitik berbeda-beda di setiap layanan. Anggaplah perilaku tersebut sebagai pertanyaan bagi penyedia layanan, alih-alih menyajikan asumsi sebagai fakta yang diamati.
Titik akhir jarak jauh memerlukan payload atau representasi yang setara sebelum dapat menghasilkan modul khusus payload. Apa yang terjadi setelah penerimaan tetap tidak diketahui tanpa bukti: satu layanan mungkin membuang permintaan, layanan lain mungkin menyimpan log aplikasi, dan layanan ketiga mungkin menempatkan data dalam laporan kesalahan. Oleh karena itu, artikel ini mengajarkan pemeriksaan aliran data, bukan tuduhan bahwa setiap generator server menyimpan teks yang dikirimkan.
Jalur sisi browser — teks dikodekan ke bitstream, koreksi kesalahan ditambahkan dan grid digambar, semuanya di dalam halaman
Di ToolAcre, TextEncoder membuat UTF-8 byte, generator kode qr membuat matriks, dan SVG lokal atau kode kanvas menggambar modul. Fungsi-fungsi tersebut menerima nilai yang sudah disimpan di halaman dan tidak berisi panggilan pengambilan yang membawa payload.
Rendering lokal juga menjaga konstruksi ekspor dalam proses yang sama. SVG dirakit sebagai markup escape dengan gabungan proses horizontal; PNG digambar ke kanvas dengan persegi panjang modul bilangan bulat dan diunduh sebagai gumpalan yang dibuat oleh browser. Outputnya tidak sampai dalam respons HTTP. Mekanisme tersebut merupakan bukti yang lebih kuat dibandingkan ikon gembok, yang melindungi koneksi namun tidak menjelaskan apa pun tentang apa yang dilakukan server penerima.
Cara memeriksanya sendiri — membuka panel jaringan browser, membuat kode, dan memperhatikan permintaan yang tidak pernah muncul
Buka alat pengembang sebelum memasukkan string pengujian khusus, hapus daftar permintaan, buat kode, dan telusuri URL serta isi permintaan untuk string tersebut. Ini memverifikasi klaim sempit bahwa pembangkitan tidak mengirimkan muatan selama sesi pengamatan Anda.
Gunakan daftar permintaan dan bukti sumber. Hapus panel setelah halaman dimuat, buat dari penanda unik yang tidak berbahaya, dan periksa permintaan baru untuk penanda di URL, payload, dan data formulir. Kemudian konfirmasikan bahwa jalur pembuatan tidak memiliki panggilan pengambilan atau XHR. Pemeriksaan mana pun akan lebih lemah: pengamatan waktu proses adalah satu sesi, sedangkan pemeriksaan statis dapat melewatkan perilaku penerapan yang dimasukkan.
Sumber daya halaman pihak ketiga dan transmisi muatan adalah pertanyaan terpisah yang tidak boleh digabungkan
Suatu halaman masih dapat meminta skrip, font, iklan, atau analitik tanpa mengirimkan teks yang dikodekan. Sebaliknya, daftar yang tampak kosong bukanlah bukti tentang pemuatan halaman sebelumnya, ekstensi browser, atau perubahan penerapan di masa mendatang, jadi lingkari kesimpulannya dengan hati-hati.
Panel alat fokus repositori menyatakan bahwa generator tidak membuat permintaan jaringan, sementara kontrak penerbitan yang lebih luas memperingatkan bahwa halaman produksi dapat memuat sumber daya situs yang dikelola dengan izin. Keduanya mungkin benar karena penanganan payload dan pengiriman halaman merupakan alur yang terpisah. Laporkan dengan tepat apa yang dicari dan kapan. “Penanda tidak ada dalam permintaan pembuatan” dapat direproduksi; “Halaman ini tidak akan bocor” lebih luas dari bukti yang ada.
Contoh praktis: memfilter log jaringan untuk payload pengujian daripada mengharapkan halaman yang sepenuhnya sunyi
Gunakan contoh berbentuk intranet yang tidak berbahaya seperti https://intranet.invalid/menu-check-47, lalu filter log jaringan untuk menu-check-47. Bukti yang diharapkan adalah tidak adanya permintaan yang membawa muatan, bukan janji bahwa setiap sumber daya halaman akan hilang.
Misalnya, masukkan `https://intranet.invalid/menu-check-47`, buat, lalu telusuri detail permintaan yang diambil untuk `menu-check-47`. Periksa juga pratinjau payload untuk memverifikasi bahwa pembuatnya tidak secara diam-diam mengganti alamat lain. Hasil yang jelas menunjukkan bahwa nilai pembeda yang sama berpindah dari bentuk ke matriks secara lokal selama langkah pembangkitan yang diamati. Itu tidak mensertifikasi ekstensi browser, permintaan sebelumnya, atau pembangunan penerapan di masa depan.
Apa yang tidak tercakup dalam hal ini: berbagi gambar di kemudian hari, sumber daya penerapan, atau alat jaringan yang tidak terkait
Generasi lokal tidak mengontrol di mana gambar yang diekspor diunggah, bagaimana server tujuannya mencatat kunjungan, atau alat media ToolAcre apa yang tidak terkait yang mungkin diambil berdasarkan desain. Itu juga tidak membuat rahasia menjadi aman setelah seseorang memindai kode yang dicetak.
Gambar akhir adalah salinan data portabel. Mengunggahnya ke sistem dokumen, mengirimkannya melalui email, atau mencetaknya dapat mengungkapkan muatannya kepada orang-orang baru meskipun generasinya bersifat lokal. URL yang didekode juga menghubungi tujuannya saat dipindai. Pemrosesan lokal menghapus satu prosesor dari pembuatan; itu tidak mengubah kode QR yang berisi kata sandi atau alamat internal menjadi penyimpanan terenkripsi.
Kesimpulannya — Perangkat QR & Kode Batang melakukan seluruh pekerjaan di tab Anda, yang dapat Anda verifikasi dalam waktu kurang dari satu menit
Properti privasi yang berguna sangat tepat: pengkodean dan rendering QR beroperasi secara lokal dalam implementasi yang diperiksa. Verifikasi properti tersebut terhadap halaman yang diterapkan ketika muatannya sensitif, dan pilih perangkat lunak offline untuk kredensial dengan model ancaman yang ketat.
Untuk jalur biasa, generasi lokal menawarkan rute yang sederhana dan dapat diperiksa. Untuk kredensial atau data yang diatur, pertimbangkan apakah gambar QR harus ada dan gunakan alat offline jika sumber daya halaman berada di luar model ancaman. Klaim privasi harus mengikuti siklus hidup yang lengkap—entri, pembuatan, pengunduhan, berbagi, pemindaian, dan tujuan—tidak berhenti setelah mengonfirmasi bahwa pembuat enkode itu sendiri tidak memiliki panggilan jaringan.