Step 2: Browser & SPA

なぜWebサイトから
勝手にファイルを見られないのか

インフラエンジニアとして、ブラウザという「隔離環境」の堅牢さに改めて気づかされた話です。

ブラウザは「砂場」の中で動いている

Webサイトにアクセスしただけで、PCの中にある大切なファイルが勝手に読み取られたら大変ですよね。これを防いでいるのが サンドボックス(Sandbox) という仕組みです。ブラウザはPCのOSから隔離された「砂場」のような安全なエリアで実行されています。

ユーザーの「意思」が必要

JavaScriptは、ユーザーが明示的に「このファイルを読み込んで良いですよ」というアクションを起こさない限り、ローカルのファイルシステムに触ることはできません。「猫の手貸し」で写真を選択したり、ドラッグ&ドロップしたりするのは、単なる操作ではなく「セキュリティの壁を一枚開ける」行為なんです。

// ユーザーがファイルを選んだ時だけ、中身に触れる権利がもらえる
fileInput.onchange = (e) => {
  const file = e.target.files[0];
  console.log("選ばれたファイル:", file.name);
};

当たり前だと思っていた「ファイル選択」が、実は非常に高度なセキュリティの上に成り立っている。これを知ってから、ブラウザというプラットフォームへの信頼がさらに深まりました。