PHP+SQLite実践サンプルブック: 最新Webアプリ開発環境の「使える機能」を厳選!

著者 :
  • ソシム
3.00
  • (0)
  • (2)
  • (6)
  • (0)
  • (1)
本棚登録 : 20
感想 : 2
本ページはアフィリエイトプログラムによる収益を得ています
  • Amazon.co.jp ・本 (239ページ)
  • / ISBN・EAN: 9784883374298

作品紹介・あらすじ

「これからPHP」なあなたに最適!SQLiteは、PHPの5から標準で組み込まれた「速くて」「簡単な」データベースシステムです。MySQLよりも習得しやすく「LAMP」に代わる技術を先取りで身につけていきましょう。

感想・レビュー・書評

並び替え
表示形式
表示件数
絞り込み
  • 題材をSQLiteに絞って書いていることは評価できますが,PHPのコーディングとしては数年前のものです.
    一番の問題は脆弱性があるサンプルが存在することです.それも含めこの書籍は下記の問題があるため,別の書籍での勉強を強くお勧めします.

    ■E_NOTICEの警告が出るコードが平然と書かれている

    例えば下記のようなコード

    $foo = $_POST[ "foo"]

    これは前のページから「foo」をポストされなければE_NOTICEが発生する.
    サンプルの正常系の処理では出てこないのかもしれないが,「鵜呑みにする」ことに注意し,そういうコードを例題にすることは控えるべき.

    ■ショートタグを使っている

    <? foo() ?>

    まだそういう本出てきますか.ハァ.

    ■SQLインジェクションがある

    $foo = $_POST[ "foo"];
    $sql = "SELECT * FROM foo where foo='".$foo."'";

    のようなコードがある.$fooのサニタイズをしていません.

    ■コードの最適化が甘い

    仮に5つの変数の文字コードを変更するとします.
    これがこの書籍だと

    $foo1 = mb_convert_encoding( $foo1, "EUC-JP", "SJIS");
    $foo2 = mb_convert_encoding( $foo2, "EUC-JP", "SJIS");
    $foo3 = mb_convert_encoding( $foo3, "EUC-JP", "SJIS");
    $foo4 = mb_convert_encoding( $foo4, "EUC-JP", "SJIS");
    $foo5 = mb_convert_encoding( $foo5, "EUC-JP", "SJIS");

    といった記述になっています.しかしこれは下記のようにするべきだと思います.

    $in_charset = "SJIS"; // SJISもShift_JISなどにするべきかと
    $out_charset = "EUC-JP";
    $foo1 = mb_convert_encoding( $foo1, $in_charset, $out_charset));
    $foo2 = mb_convert_encoding( $foo2, $in_charset, $out_charset));
    $foo3 = mb_convert_encoding( $foo3, $in_charset, $out_charset));
    $foo4 = mb_convert_encoding( $foo4, $in_charset, $out_charset));
    $foo5 = mb_convert_encoding( $foo5, $in_charset, $out_charset));

    ここはポリシーの違いかもしれませんが,紙面のような記述だとtypoなどを日常から発生させやすいコードになります.

    #foreachなどでまわして〜ってのもあるけど若干読みづらくもなるので判断が難しいです

    ■RFC違反

    HTTPヘッダーでLocationを使うときはURLはフルパスで書かなければなりませんが,この書籍では相対パスで記述されています.
    ほとんどのブラウザーで動作すると思いますが,初心者は鵜呑みにするからこそこの程度の手抜きはしてはいけないと思います.

    まだあった気がしますけど,総合的なサンプルコードレベル的にはこれは数年前の実装内容です.
    今時このコードを仮に業務上実装したら「知らなかった」では済まないいでしょう.

    #まぁ過去のものを引きずってて修正しきれないってのは仮に1,000歩譲るとしてですが

    まだ後一つダメコードがあった気がするのですが忘れてしまいました.
    価格は2,100円と若干安め(ムック系よりは高いけど)ので入手し安い(かつ勧めやすい価格帯)のですが,非常に残念です.

  • iPhoneでつけている家計簿のデータをPCで扱ってみたくてデータのフォーマットを調べたらSQLiteとのことで、図書館でSQLiteとタイトルについている本を借りてみた。
    PHPを使ってWebからSQLiteを使った簡単なアプリをちょっとずつプログラミングしていく構成でWebサービスとかの構築とかやりたければ非常に参考になる本だと思う。
    が、私の場合、SQLiteのデータが扱いたかっただけなので、ちょっと違ったかな。
    返却する前にもう一度再読して、実際にいじってみよう。

全2件中 1 - 2件を表示

豊崎直也の作品

  • 話題の本に出会えて、蔵書管理を手軽にできる!ブクログのアプリ AppStoreからダウンロード GooglePlayで手に入れよう
ツイートする
×