Step 2: Browser & SPA
なぜWebサイトから
勝手にファイルを見られないのか
インフラエンジニアとして、ブラウザという「隔離環境」の堅牢さに改めて気づかされた話です。
ブラウザは「砂場」の中で動いている
Webサイトにアクセスしただけで、PCの中にある大切なファイルが勝手に読み取られたら大変ですよね。これを防いでいるのが サンドボックス(Sandbox) という仕組みです。ブラウザはPCのOSから隔離された「砂場」のような安全なエリアで実行されています。
ユーザーの「意思」が必要
JavaScriptは、ユーザーが明示的に「このファイルを読み込んで良いですよ」というアクションを起こさない限り、ローカルのファイルシステムに触ることはできません。「猫の手貸し」で写真を選択したり、ドラッグ&ドロップしたりするのは、単なる操作ではなく「セキュリティの壁を一枚開ける」行為なんです。
// ユーザーがファイルを選んだ時だけ、中身に触れる権利がもらえる
fileInput.onchange = (e) => {
const file = e.target.files[0];
console.log("選ばれたファイル:", file.name);
};
当たり前だと思っていた「ファイル選択」が、実は非常に高度なセキュリティの上に成り立っている。これを知ってから、ブラウザというプラットフォームへの信頼がさらに深まりました。