【えすけーぷしょり】
エスケープ処理 とは?
💡 特殊文字を無害化して、攻撃の入り口を塞ぐ
📌 このページのポイント
エスケープ処理って何をエスケープするの?
プログラムにとって特別な意味を持つ文字を、ただの文字として扱えるように変換することだよ。たとえばHTMLで <script> って書くと、ブラウザはそれをJavaScriptのコードとして実行しちゃう。でも <script> に変換すれば、画面にただの文字列として表示されるんだ。
それをしないとどうなるの?
SQLにもエスケープが必要なの?
そうだよ。ログインフォームのパスワード欄に ' OR '1'='1 って入力されたとき、エスケープしていないとSQL文が書き換えられて、パスワードなしでログインできちゃうことがある。これがSQLインジェクションだね。今はプリペアドステートメントという仕組みで自動的に安全に処理するのが主流だよ。
毎回手動でエスケープするのは大変そう...
📖 おまけ:英語の意味
「escape」 = 逃がす・回避する
💬 特殊文字の持つ意味から『逃がす(無効化する)』ことが語源