2012年3月8日木曜日

開発環境

  • OS X Lion - Apple(OS)
  • Apache (Web Server)
  • PHP (サーバーサイドプログラミング言語)
  • MySQL (データベース)
  • TextWrangler(Text Editor) (BBEditの無料機能制限版、light版)

『初めてのPHP & MySQL 第2版』(Michele E. DavisJon A. Phillips 著、西沢 直木 訳、オライリー・ジャパン、2008年、ISBN978-4-87311-365-4)の13章(データ構造とデータの変更)の問題を解いてみる。

問13-1.

コード(TextWrangler)

<?php
  include('db_login.php');
  require_once('DB.php');
  $connection = DB::connect("mysql://$db_username:$db_password@$db_host/$db_database");
  if(!$connection){
    die ("Could not connect to the database: <br />" . DB::errorMessage());
  }
  $query = "alter table books add published_date date";
  $result = $connection->query($query);
  if(DB::isError($result)){
    die ("Could not query the database: <br />" . $query . " " . DB::errorMessage($result));
  }
  $connection->disconnect();
?>

問13-2.

ユーザ入力を扱う際に、セキュリティ上のリスクとなる課題は、

  1. クロスサイトスクリプティング攻撃
  2. SQLインジェクション

の2つ。

問13-3.

マジッククォートを確認する関数は、get_magic_quotes-gpc()関数。

問13-4.

ユーザーのフォーム入力データを表示する前に、htmlentities関数を使用するとクロスサイトスクリプティングを防ぐことが出来る。

併せて読んでいる書籍。

Pythonの学習が1周したら上記の2冊を順に取り組む計画。それまではひたすら復習!

0 コメント:

コメントを投稿