PHPでのエスケープ処理
カテゴリ:インターン生ブログ
こんにちは!インターン生の西です!今回はPHPでのエスケープ処理について紹介していきたいと思います!
また、株式会社inglowではWebプロモーション成功事例集をまとめた限定資料を無料で配布しています。
Webマーケティングに興味がある方は、下記ページより目を通してみてください。
1.エスケープとは
エスケープ処理とは、スクリプト言語等の文字列を別の文字列に置き換えることです。この処理をしないとHTMLタグやスクリプトが実行されてしまうので、このようなクロスサイトスクリプティング(XSS)攻撃を防ぐためにはエスケープ処理が必須なのです!
2.PHPでエスケープする方法
エスケープ処理にはさまざまな方法がありますが、今回はその一部を紹介していきます。
・htmlspecialchars関数
この関数の使い方は、「htmlspecialchars(エスケープする文字列、エスケープの種類、文字コード);」となります。この関数の第二引数は、基本的にエスケープしてくれる文字が多い「ENT_QUOTES」を指定しましょう。また、毎回記述するのは面倒なので短い関数名にしておきましょう。
・replace関数
ここでは「str_replace」について紹介します。記述方法は「str_replace(‘置換対象の文字列’ , ‘置換後の文字列’ , ‘置換対象の文字列が含まれている部分’)」のようになります。わかりやすく置換すると下の画像のようになります。
そして、スクリプト言語等の記述が反映されないようにするためには下の画像のように記述するようにしましょう。
・addslashes関数
ここでは文字列を変数に入れて、その変数をaddslashes関数に渡すという処理をしています。この関数では渡された変数のエスケープシーケンスに含まれる文字や記号を自動的にエスケープしてくれます。
3.最後に
エスケープ処理をする場面は改行などを記述する際にも出てきます。そのようなときは以下のようなエスケープシーケンスを利用するということも覚えておきましょう。
改行 | \n |
左括弧 | \( |
右括弧 | \) |
左角括弧 | \[ |
右角括弧 | \] |
シングルクォーテーション | \’ |
ダブルクォーテーション | \” |
円 | \\ |
ドル | \$ |
またwebで集客する方法を別の記事にまとめております。
詳しく解説しているので、web集客について深く知りたい方は、ぜひこちらもご覧ください。
弊社inglowでは、これから広告の運用を考えられている方、あるいはこれから広告代理店に運用をお願いされる方向けに、「業界別Web広告の成功事例」をまとめた資料を無料配布しております。
下記のフォームに入力いただくだけで、無料で資料をダウンロードしていただけます。ぜひご利用下さい。