今日学んだこと~PHP~

今日もPHPの学習をしました。

今日の主な学習内容は、「Webアプリケーションに対する攻撃」「簡易画像掲示板の作成」です。

今日学んだことをまとめていきます。

 

★Webアプリケーションに対する攻撃

悪意あるスクリプトをコンテンツに挿入して、閲覧する人にそれを実行させる攻撃方法を「スクリプトインジェクション」という。

スクリプトインジェクションを防ぐための一つの対応として、タグを無効にすることができる。

「htmlspecialchars」関数は、タグで使われる文字をタグでない別の文字に変換する。

変換の文字列を「文字実体参照」という。

SQL文に対して、作者が意図しない命令を挿入する攻撃のことを「SQLインジェクション」という。

SQLインジェクションを防ぐための一つの対応として、正規表現を使った方法がある。

正規表現を使用すると、文字列のパターンを指定することができる。

正規表現で使用する、特別な意味を持つ文字列のことを「メタキャラクタ」という。

「preg_match」や「ereg」は、正規表現を使ってあいまい検索を行う関数。

プリペアドステートメントを使うと、作者が意図しない構造の実行を防ぐことができる。

プリペアドステートメントでは、「prepare」「bindParam」「execute」の3つのメソッドを実行する。

prepareメソッドに指定するSQL文には、後で値を置き換えるためのプレースホルダというものを作成する。

ハッシュ関数とは、与えられたデータを要約して、類推できないデータを作成する関数。

その作られたデータのことを、ハッシュ値という。

ハッシュ関数には、md5sha1などがある。

 

★簡易画像掲示板の作成

これまでのまとめの内容。プログラムの記述が長くて大変でした。

 

以上です!