なぜ.gitや設定ファイルが危険なのか
.gitフォルダにはコミット履歴のすべてが保存されています。たとえ最新のファイルから削除した情報でも、過去のコミットをたどれば復元できてしまいます。一度コミットしたパスワードやトークンは、後から消したつもりでも履歴の中に残り続けます。
.envや設定ファイルには、データベースの接続先、外部サービスのキー、管理画面のパスワードなどが書かれていることがあります。これらは本来サーバー内部だけで使うもので、閲覧者に渡る前提のものではありません。
ZIPで丸ごと固めると、こうした隠しファイルは画面上に見えないまま一緒に圧縮されます。受け取った相手が展開すれば中身は読めてしまうため、共有前の確認が欠かせません。
混入しやすいファイルの種類
先頭にドットが付くファイルやフォルダは、OSの初期設定では非表示になっていることが多く、見落としの原因になります。普段の作業画面に出てこないからこそ、ZIPに紛れていても気づきにくいのです。
代表的なものを把握しておくと、共有前のチェックがしやすくなります。
- .git(コミット履歴のすべて)
- .env / .env.local(接続情報やキー)
- node_modulesやvendorなどの依存フォルダ(容量が膨らむ原因)
- .DS_StoreやThumbs.db(OSが作る不要ファイル)
- エディタの設定フォルダ(.vscode、.ideaなど)
- バックアップやログファイル(.bak、.log)
よくあるNG例と安全な直し方
ZIPサイトに紛れ込む.gitや設定ファイルから情報が漏れるのを防ぐでは、「検索に出さない」と「見られないようにする」を混同しないことが重要です。noindexやrobots.txtは検索エンジンへの指示であり、アクセス制限そのものではありません。
安全に共有するには、誰に見られると困るかを先に決め、URL共有だけで足りるのか、認証や期限が必要なのかを選びます。共有相手と機密度が決まったら、URLのみ・パスワード・メール認証・会社ドメイン認証のどれで渡すかを選びます。
- NG: 機密情報入りHTMLを認証なしURLで共有し、noindexだけで安心する
- OK: パスワード・メール認証・会社ドメイン認証で閲覧者を絞る
- NG: テスト用APIキーや社内URLをHTML内に残したまま渡す
- OK: 公開前に外部送信先、秘密情報、フォーム送信先を確認する
共有前にきれいにする手順
公開用のZIPは、作業フォルダをそのまま固めるのではなく、必要なファイルだけを集めた別フォルダから作るのが安全です。次の流れで進めると混入を防げます。
- 公開に必要なHTML・CSS・JS・画像だけをコピーした新しいフォルダを作る
- 先頭がドットのファイルやフォルダが残っていないか、隠しファイル表示をオンにして確認する
- node_modulesや依存フォルダ、ログ・バックアップを削除する
- ビルド成果物だけを公開する場合は、ソースや設定ファイルを含めない
- そのフォルダだけをZIPに圧縮する
- 圧縮後に一度自分で展開し、中身に不要ファイルがないか目視で確かめる
公開後に履歴をたどられないために
.gitを含めたZIPを一度配ってしまうと、相手の手元に履歴が渡った状態になります。回収は事実上できないため、配る前のチェックがすべてだと考えてください。
万一含めて配布してしまった場合は、その履歴に含まれていた認証情報を無効化し、新しいものに切り替えるのが基本です。ファイルを消すだけでは、すでに渡った情報は守れません。
再発を防ぐには、公開用のエクスポート手順を一つ決めて毎回同じ流れで作ることが効果的です。手作業の判断が減るほど、混入のリスクは下がります。
ギガサイト便でZIPを共有するときの注意
ギガサイト便はCSS・JS・画像を含むZIPをドロップすると、その場で共有URLを発行できるサービスです。便利さの一方で、アップロードするZIPの中身は自分で整える必要があります。サービスは隠しファイルの是非まで判断してくれるわけではありません。
アップロード前に上記の手順でZIPをきれいにしておけば、共有URLに不要なファイルを載せずに済みます。さらに認証を併用したり公開期限を設定したりすれば、見せたい相手にだけ、必要な期間だけ届けられます。
よくある質問
.gitフォルダを消せば履歴の漏えいは防げますか
ZIPに含めずに配れば、その配布物から履歴を読まれることはありません。ただし過去に.gitを含めて配ってしまった分は回収できないため、その履歴に入っていた認証情報は無効化して入れ替えるのが安全です。
隠しファイルが入っているかどうか、どう確認すればよいですか
OSの設定で隠しファイルの表示をオンにして、フォルダ内に先頭がドットのファイルやフォルダがないか目視します。ZIP作成後に一度展開して中身を確かめると、より確実です。
ビルド済みのサイトなら設定ファイルは入りませんか
ビルド成果物だけを配れば設定ファイルは含まれにくくなりますが、出力フォルダに.envやソースをコピーしてしまうケースもあります。公開用フォルダを別に用意し、必要なファイルだけを置くのが確実です。
ギガサイト便にアップロードすれば不要ファイルは自動で除去されますか
アップロードするZIPの中身は利用者が整える前提です。隠しファイルや依存フォルダを取り除いてから圧縮し、共有URLには必要なファイルだけを載せるようにしてください。
noindexを設定すれば認証は不要ですか?
不要ではありません。noindexは検索結果への表示を抑えるための指定で、URLを知っている人の閲覧を止める仕組みではありません。閲覧者を制限したい場合は認証が必要です。