この記事を読むのに必要な時間:およそ 0.5 分
ダウンロード
本書に関するサンプルファイルをダウンロードできます。
データは,圧縮ファイル形式でダウンロードできます。圧縮ファイルをダウンロードしていただき,適宜解凍してご利用ください。
お詫びと訂正(正誤表)
本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。
(2012年8月20日更新)
P.022 上から7行目付近 (3刷修正済み)
誤 |
CentOS/Fedoraでは/etc/php/php.iniがphp.iniファイルになります |
正 |
CentOS/Fedoraでは/etc/php.ini がphp.iniファイルになります。 |
P.024 真ん中のインストール (3刷修正済み)
誤 |
Mac OS Xではportコマンドからインストールします
----
$ sudo port install php5
$ sudo port install php5-devel php5-mbstring php5-mysql
$ sudo port mysql5-server
----
|
正 |
Mac OS Xではportコマンドからインストールします
----
$ sudo port install php5
$ sudo port install php5-devel php5-mbstring php5-mysql
$ sudo port install mysql5-server
$ sudo /opt/local/apache2/bin/apxs -a -e -n "php5" libphp5.so
$ sudo sh -c "echo 'Include conf/extras-conf/mod_php.conf' >> /opt/local/apache2/conf/httpd.conf"
----
|
P.083 「PHP Notice~~」のリストの前,下から3行目
誤 |
この例の場合、3つのい要素が |
正 |
この例の場合、3つの要素が |
P.198 7.1本文1行目
誤 |
本章ではフレームワークの作成と、それを用いたWebアプリケーションの作成を行います。 |
正 |
本章と次章では、フレームワークの作成とそれを用いたWebアプリケーションの作成を行います。 |
P.201 下から5行目付近
誤 |
アプリゲーションごとに |
正 |
アプリケーションごとに |
P.202 図7.1(3刷修正済み)
P.237 リスト7.15 run() メソッド内のif文(3刷修正済み)
P.312 リスト8.32 3行目 (3刷修正済み)
誤 |
class AccountController extends Controller
|
正 |
class StatusController extends Controller
|
P.339~341 9.4.3 対応方法 (3刷修正済み)
http://www.tokumaru.org/d/20110127.htmlで脆弱性指摘あり。修正済みコードは以下からダウンロードできます。
P.359 本文 下から5行目
誤 |
+document.cookie;</script> |
正 |
%2Bdocument.cookie;</script> |
P397 本文 上から5行目
誤 |
file=../../../../../../../etc/passwd%00 |
正 |
design=../../../../../../../etc/passwd%00 |
P.389 リスト10.21 (3刷修正済み)
誤 |
eval("echo htmlspecialchars(str_replace(" . $_GET['keyword'].
",'', ".$string."), ENT_QUOTES, 'UTF-8');");
|
正 |
eval("echo htmlspecialchars(str_replace('" . $_GET['keyword'].
"','', '".$string."'), ENT_QUOTES, 'UTF-8');");
|
P.389 本文 上から3行目 (3刷修正済み)
誤 |
ところが、このプログラムに「?keyword=phpinfo()」とつけてアクセスすると、phpinfo()関数の結果が表示されてしまいます。これは、$_GET['keyword']の値「phpinfo()」がeval()関数によって実行されてしまうためです。 |
正 |
ところが、このプログラムに「?keyword='.phpinfo().'」とつけてアクセスすると、phpinfo()関数の結果が表示されてしまいます。これは、$_GET['keyword']の値に含まれている「phpinfo()」がeval()関数によって実行されてしまうためです。 |
P.389 リスト10.22 (3刷修正済み)
誤 |
if (strpos($string, $_GET['keyword']) !== false) {
eval("echo htmlspecialchars(str_replace(".$_GET['keyword'].
",'', ".$string."), ENT_QUOTES, 'UTF-8');");
}
|
正 |
if (strpos($string, $_GET['keyword']) !== false) {
eval("echo htmlspecialchars(str_replace('".$_GET['keyword'].
"','', '".$string."'), ENT_QUOTES, 'UTF-8');");
}
|
P.405 リスト 10.38のファイル名