今日学んだこと~PHP~
今日もPHPの学習をしました。
今日の主な学習内容は、「Webアプリケーションに対する攻撃」「簡易画像掲示板の作成」です。
今日学んだことをまとめていきます。
★Webアプリケーションに対する攻撃
悪意あるスクリプトをコンテンツに挿入して、閲覧する人にそれを実行させる攻撃方法を「スクリプトインジェクション」という。
スクリプトインジェクションを防ぐための一つの対応として、タグを無効にすることができる。
「htmlspecialchars」関数は、タグで使われる文字をタグでない別の文字に変換する。
変換の文字列を「文字実体参照」という。
SQL文に対して、作者が意図しない命令を挿入する攻撃のことを「SQLインジェクション」という。
SQLインジェクションを防ぐための一つの対応として、正規表現を使った方法がある。
正規表現を使用すると、文字列のパターンを指定することができる。
正規表現で使用する、特別な意味を持つ文字列のことを「メタキャラクタ」という。
「preg_match」や「ereg」は、正規表現を使ってあいまい検索を行う関数。
プリペアドステートメントを使うと、作者が意図しない構造の実行を防ぐことができる。
プリペアドステートメントでは、「prepare」「bindParam」「execute」の3つのメソッドを実行する。
prepareメソッドに指定するSQL文には、後で値を置き換えるためのプレースホルダというものを作成する。
ハッシュ関数とは、与えられたデータを要約して、類推できないデータを作成する関数。
その作られたデータのことを、ハッシュ値という。
★簡易画像掲示板の作成
これまでのまとめの内容。プログラムの記述が長くて大変でした。
以上です!