日本語

テキストおよび日常ツール · QR & バーコード ツールキット

サーバーではなくブラウザで QR コードを生成するとどうなるか

· 仕組み

qrコード プライバシー ブラウザ処理

QR グリッドのレンダリング中にブラウザー タブ内に留まるペイロード
オリジナル ToolAcre ベクトル イラスト

サーバーでレンダリングされる QR ジェネレーターと、タブ内で JavaScript として実行される QR ジェネレーターを比較し、それぞれのケースでデバイスからどのようなデータが送信されるかを正確に示し、それを自分で検証する方法を示します。

ローカル生成とリモート生成は異なるアーキテクチャです。このリポジトリは ToolAcre のローカル パスのみを証明します

異なるデータ パスを使用しながら、2 つのページに同じ QR 画像を表示できます。 ToolAcre のソースは、そのジェネレーターがテキストをブラウザー側の JavaScript に渡し、メモリ内の行列を受け取り、それをローカルにレンダリングすることを証明しています。無関係なサービスがどのように機能するかを証明するものではありません。

違いは関数境界で確認できます。 `buildPayload` は文字列とメモと警告を返します。 `generateQrMatrix` はその文字列を消費します。 `renderQrSvg` または `drawQrToCanvas` はブール行列を使用します。サーバー応答またはリモート画像 URL を受け入れるものはありません。別のサイトでリクエストベースのアーキテクチャが使用されている可能性がありますが、それを診断するには、「オンライン ジェネレーター」を 1 つの統一された実装として扱うのではなく、そのサイトを観察する必要があります。

リモート ジェネレーターはペイロード テキストを受信できますが、別のサービスのログ動作には別の証拠が必要です

サーバーでレンダリングされるアーキテクチャは、リモート プロセスがイメージを作成するのに十分な情報を必ず送信しますが、ログの保持、キャッシュ、分析はサービスによって異なります。仮定を観察された事実として提示するのではなく、それらの行動をそのプロバイダーへの質問として扱います。

リモート エンドポイントは、ペイロード固有のモジュールを生成する前に、ペイロードまたは同等の表現を必要とします。受信後に何が起こるかは証拠がなければ不明のままです。あるサービスはリクエストを破棄する可能性があり、別のサービスはアプリケーション ログを保持する可能性があり、3 番目のサービスはエラー レポートにデータを置く可能性があります。したがって、この記事では、すべてのサーバー ジェネレーターが送信されたテキストを保存するという主張ではなく、データ フローの検査について説明します。

ブラウザ側のパス — ビットストリームにエンコードされたテキスト、エラー修正の追加、グリッドの描画がすべてページ内に行われます。

ToolAcre では、TextEncoder が UTF-8 バイトを作成し、qrcode-generator がマトリックスを構築し、ローカル SVG またはキャンバス コードがモジュールを描画します。これらの関数は、ページ内にすでに保持されている値を受け入れ、ペイロードを運ぶフェッチ呼び出しを含みません。

ローカル レンダリングでは、同じプロセス内でエクスポートの構築も維持されます。 SVG は、マージされた水平方向のランを含むエスケープされたマークアップとしてアセンブルされます。 PNG は、整数モジュールの四角形を含むキャンバスに描画され、ブラウザーで作成された BLOB としてダウンロードされます。出力は HTTP 応答では届きません。このメカニズムは、接続を保護するものの、受信サーバーの動作については何も示さないロック アイコンよりも強力な証拠です。

自分で確認する方法 — ブラウザのネットワーク パネルを開いてコードを生成し、表示されないリクエストを監視します

固有のテスト文字列を入力する前に開発者ツールを開き、リクエスト リストをクリアしてコードを生成し、その文字列のリクエスト URL と本文を検索します。これは、観察されたセッション中に生成がペイロードを送信しなかったという狭い主張を証明します。

リクエスト リストとソース証拠の両方を使用します。ページが読み込まれた後にパネルをクリアし、一意の無害なマーカーから生成し、URL、ペイロード、フォーム データ内のマーカーに対する新しいリクエストを検査します。次に、生成パスにフェッチまたは XHR 呼び出しがないことを確認します。どちらのチェックだけでも弱いです。実行時の観察は 1 つのセッションですが、静的検査では挿入されたデプロイメント動作を見逃す可能性があります。

サードパーティのページ リソースとペイロードの送信は別個の質問であり、混同してはなりません

ページは、エンコードされたテキストを送信せずに、スクリプト、フォント、広告、または分析を要求する場合があります。逆に、空に見えるリストは、以前のページの読み込み、ブラウザの拡張機能、または将来の展開の変更についての証拠にはならないため、結論の範囲を慎重に検討してください。

リポジトリの重点ツール パネルには、ジェネレーターがネットワーク リクエストを行わないと記載されていますが、より広範な公開契約では、運用ページが同意管理されたサイト リソースを読み込む可能性があると警告されています。ペイロード処理とページ配信は別のフローであるため、どちらも当てはまります。いつ、何が検索されたかを正確に報告します。 「生成リクエストにマーカーがありませんでした」は再現可能です。 「ページには漏れる場所がない」ということは、証拠よりも広範囲にわたる。

有効な例: 完全にサイレントなページを期待するのではなく、テスト ペイロードのネットワーク ログをフィルタリングします。

https://intranet.invalid/menu-check-47, などの無害なイントラネット形式の例を使用して、menu-check-47 のネットワーク ログをフィルタリングします。期待される証拠は、ペイロードを伴うリクエストではなく、すべてのページ リソースが消えるという約束ではありません。

たとえば、`https://intranet.invalid/menu-check-47` と入力して生成し、キャプチャされたリクエストの詳細で `menu-check-47` を検索します。また、ペイロード プレビューを調べて、ビルダーが別のアドレスを静かに置き換えていないかどうかを確認します。明らかな結果は、観察された生成ステップ中に、同じ固有の値がフォームからマトリックスに局所的に移動したことを示しています。ブラウザ拡張機能、以前のリクエスト、または将来の展開ビルドを保証するものではありません。

これでカバーされないもの: 後のイメージ共有、展開リソース、または無関係なネットワーク化されたツール

ローカル生成では、エクスポートされた画像がどこにアップロードされるか、宛先サーバーが訪問を記録する方法、または無関係な ToolAcre メディア ツールが設計上何をフェッチするかを制御しません。また、誰かが印刷されたコードをスキャンした後に秘密が保管されるわけでもありません。

最終的なイメージは、データの移植可能なコピーです。ドキュメント システムにアップロードしたり、電子メールで送信したり、印刷したりすると、生成がローカルであったとしても、ペイロードが新しい人に公開される可能性があります。デコードされた URL は、スキャン時に宛先にも接続されます。ローカル処理では、作成から 1 つのプロセッサが削除されます。パスワードや内部アドレスを含む QR コードを暗号化ストレージに保存することはありません。

要点 — QR & バーコード ツールキットはタブ内ですべての作業を実行し、1 分以内に確認できます

有用なプライバシー プロパティは正確です。QR エンコードとレンダリングは、検査された実装内でローカルに動作します。ペイロードが機密である場合は、デプロイされたページに対してそのプロパティを検証し、厳密な脅威モデルを備えた認証情報にはオフライン ソフトウェアを優先します。

通常のリンクの場合、ローカル生成により、シンプルで検査可能なルートが提供されます。認証情報または規制されたデータについては、QR 画像が存在する必要があるかどうかを検討し、ページ リソースが脅威モデルの範囲外である場合はオフライン ツールを使用します。プライバシーの主張は、エンコーダー自体にネットワーク呼び出しがないことを確認した後も停止せず、ライフサイクル全体 (エントリ、生成、ダウンロード、共有、スキャン、宛先) に従う必要があります。