埋め込みファイルから漏れる仕組み
HTMLにPDFや画像をbase64で埋め込んだり、ファイルへのリンクを置いたりすると、そのファイルはページの一部として配布されます。表示上は一部だけ見せているつもりでも、ファイル自体は丸ごと相手の手元に届きます。
PDFには作成者名、編集履歴、使用ソフト、社内のファイルパスといったメタデータが残っていることがあります。本文に書いていない情報が、ファイルのプロパティから読み取れてしまうのです。
また、ページ上で一部しか見せていないPDFでも、埋め込まれている以上は全ページが手元にある状態です。表示範囲を絞ること自体は、内容を隠す手段にはなりません。
base64埋め込み特有のリスク
base64でファイルをHTMLに直接埋め込むと、ファイルの中身がそのままHTMLソースに文字列として含まれます。ページのソースを表示すれば、その文字列をデコードして元のファイルを復元できます。
つまり『リンクを見せていないから安全』ではありません。HTMLの中にデータが入っているなら、ソースから取り出される前提で考える必要があります。隠したつもりのファイルが抜き取られる典型例です。
見せる必要のないファイルは、そもそもHTMLに埋め込まないのが最も確実です。本当に渡すべきものだけを同梱し、不要なファイルは削ぎ落とします。
よくあるNG例と安全な直し方
共有HTMLに埋め込んだPDFやファイルから情報が漏れる落とし穴では、「検索に出さない」と「見られないようにする」を混同しないことが重要です。noindexやrobots.txtは検索エンジンへの指示であり、アクセス制限そのものではありません。
安全に共有するには、誰に見られると困るかを先に決め、URL共有だけで足りるのか、認証や期限が必要なのかを選びます。共有相手と機密度が決まったら、URLのみ・パスワード・メール認証・会社ドメイン認証のどれで渡すかを選びます。
- NG: 機密情報入りHTMLを認証なしURLで共有し、noindexだけで安心する
- OK: パスワード・メール認証・会社ドメイン認証で閲覧者を絞る
- NG: テスト用APIキーや社内URLをHTML内に残したまま渡す
- OK: 公開前に外部送信先、秘密情報、フォーム送信先を確認する
公開前の確認手順
埋め込みファイルを含むHTMLを公開する前に、次の手順で漏れがないか確認します。
この確認は面倒でも一度通せば、本文に書いていない情報が裏側から漏れる事故をほぼ防げます。特に外部に配るHTMLでは省略しないことをおすすめします。
- 埋め込んだPDFや画像のプロパティでメタデータ(作成者・パス・履歴)を確認する
- 不要なメタデータはPDFや画像から削除してから埋め込む
- 渡す必要のないページやファイルが混ざっていないか中身を見直す
- base64で埋め込んだ場合はソース表示でデータが取り出せる前提で機密度を判断する
- 見せたい範囲を超える情報が含まれるなら埋め込みをやめてリンク+認証に切り替える
メタデータの落とし穴
PDFのメタデータには、編集前のファイル名や保存先のフォルダ構成が残ることがあります。これだけで社内のプロジェクト名や組織構造が推測されることもあり、軽視できません。
Officeソフトから書き出したPDFは、コメントや変更履歴、非表示のレイヤーが残る場合があります。最終版として渡すなら、これらを削除してから書き出します。
メタデータの除去は、PDF編集ソフトのプロパティ削除機能や『最終版にする』処理で行えます。渡す直前に一度プロパティを開いて中身を確認する習慣をつけると安全です。
安全に同梱するための方針
原則は『渡してよいものだけを、メタデータを掃除してから同梱する』です。便利さに任せて手元のファイルをそのまま埋め込むと、思わぬ情報がついてきます。
機密度が高いファイルは埋め込みを避け、認証付きの公開URLで配布範囲を絞る方が安全です。誰が見られるかを制御できるかどうかが分かれ目になります。
ギガサイト便では認証方式と公開期限を設定でき、配布範囲と期間を絞れます。ただしファイル自体のメタデータ掃除は事前の作業です。埋め込む前のクリーニングと、配布時の認証・期限設定を両方行ってください。
よくある質問
PDFの一部だけ表示すれば残りは見られませんか
見られます。埋め込んだPDFは全体が相手の手元に届くため、表示範囲を絞っても全ページを取り出せます。見せたくないページは埋め込まないのが確実です。
base64で埋め込めばリンクが見えないので安全ですか
安全ではありません。base64のデータはHTMLソースに含まれ、ソース表示からデコードして元ファイルを復元できます。HTMLに入っているものは取り出される前提で考えてください。
メタデータからどんな情報が漏れますか
作成者名、編集履歴、使用ソフト、社内のファイルパスやフォルダ名などが残ることがあります。本文に書いていない情報がプロパティから読み取れる場合があるため、渡す前に削除します。
機密度の高いファイルはどう渡すべきですか
埋め込みを避け、メタデータを掃除したうえで認証付きの公開URLで配布範囲を絞るのが安全です。誰が見られるかを制御できることが重要です。
noindexを設定すれば認証は不要ですか?
不要ではありません。noindexは検索結果への表示を抑えるための指定で、URLを知っている人の閲覧を止める仕組みではありません。閲覧者を制限したい場合は認証が必要です。