タグ

ブックマーク / gihyo.jp (6)

  • 第10回 スクリプトインジェクションが無くならない10の理由 | gihyo.jp

    SQLインジェクション対策は非常に簡単です。しかしブラウザに対する「スクリプトインジェクション」はなかなか無くなりません。スクリプトインジェクションが無くならない10の理由をあげてみます。 複雑な攻撃経路と対策 前回紹介したように、ブラウザに対するスクリプトインジェクション攻撃の経路は3種類あります。エスケープ方法も数種類あります。すべての出力を完全にエスケープできればセキュリティ維持も容易になりますが、タグや属性を出力したい場合もあるため、必ずしもすべての出力をエスケープできるわけではありません。さらに攻撃手法にも、サイトをまたがった攻撃、直接攻撃、間接攻撃などパターンがあります。エスケープできないデータへの不正なスクリプトの挿入を防ぐには、データの起源までさかのぼり安全性を確保しなければなりません。ブラウザに対するスクリプトインジェクション対策はデータベースサーバへのSQLインジェクシ

    第10回 スクリプトインジェクションが無くならない10の理由 | gihyo.jp
  • 第1回 PHPUnit入門 | gihyo.jp

    はじめに 皆さん、テストしてますか? 近年、システム開発を発注する顧客や利用ユーザーの品質に対する要求レベルは格段に向上しています。そのため、システムの品質を保証するための「テストフェーズ」はますます欠かせなくなってきています。 ここで、一口に「テスト」といっても、フェーズによって以下のような様々なテストがあります。 ユニットテスト・単体テスト 結合テスト・システムテスト 総合テスト 受け入れテスト 負荷テスト セキュリティテスト 筆者の経験上、一般的なシステム開発でもっとも大きな工数を占めるのは、この「テスト」フェーズと考えています。なぜなら、テストフェーズは例外なく「繰り返し作業」だからです。前述の様々なテストフェーズで共通することですが、テストフェーズは「テストで発見されたバグ・障害を修正して再度テストを行う」という作業を何度も繰り返し行うフェーズです。あとのフェーズで不具合が発見さ

    第1回 PHPUnit入門 | gihyo.jp
  • 第8回 クロスサイトスクリプティング対策の落とし穴 | gihyo.jp

    今回は熟練したWebアプリ開発者なら常識のクロスサイトスクリプティング対策の落とし穴を紹介します。 JavaScriptを排除しているつもりで排除に失敗?! 最近はSanitize(サニタイズ)という言葉の代わりにValidation(検証)という言葉をよく聞くようになったと思います。Sanitizeの意味を辞書で調べると「汚れている物をきれいにすること」とされています。この意味の通り汚れた変数をきれいにして使えば安全に利用できるとする考え方に基づくのがサニタイズ手法です。典型的な例は、「⁠テキストを出力する前に"<"と">"を取り除く」方法があります。 例1 "<"と">"をereg_replaceで取り除く $safe_text = ereg_replace($_GET['text'], '[<>]', ''); この$safe_textを <a href="/script.php?t

    第8回 クロスサイトスクリプティング対策の落とし穴 | gihyo.jp
  • 残り一年! PHP4からPHP5への移行:第1回 移行前の基礎知識|gihyo.jp

    2007/7/14にPHP4のメンテナンス終了日がアナウンスされ、通常のメンテナンスが2007/12/31まで、セキュリティフィックスが2008/8/8までと発表されました。連載では、これを踏まえてPHP4.4からPHP5.2への移行について解説します。PHP5には便利な新しい機能が多く追加されていますがここではそれらには触れず、移行についてのみ解説します。PHP4からPHP5に移行する場合に必要のない項目はほとんど解説しません。PHP5の新しい機能についての解説は「はじめてのPHP言語プログラミング入門」(⁠技術評論社)などのPHP5の入門書を参照してください。 特に記述がない場合、PHP4はPHP4.4.x、PHP5はPHP5.2.xを意味します。 PHP4とPHP5の違い PHP4とPHP5は言語仕様が異なる言語ですが、PHP5はPHP4の上位互換言語です。PHP4とPHP5両方で

    残り一年! PHP4からPHP5への移行:第1回 移行前の基礎知識|gihyo.jp
  • CakePHPで高速Webアプリ開発:第1回 CakePHPを使いたくなる5つの特徴|gihyo.jp … 技術評論社

    CakePHPとは CakePHPはオープンソースで開発されたPHP用のフレームワークです。Ruby on Railsの影響を強く受けており、Webアプリケーションを高速に開発するための仕掛けが随所に盛り込まれています。 PHP開発者の方で、Railsで開発してみたいけどRubyの経験がないのでなかなか行動に移せない方などはとくにCakePHPを試してみてほしいと思います。Railsの考え方を肌で理解しつつ、PHPでWebアプリケーションを高速開発するための選択肢を手に入れることになるでしょう。 CakePHP 家サイト(英語)(左図⁠)⁠。 フォーラム - CakePHP Users in Japan(右図) そのほか、CakePHP プログラマーズ リファレンスガイドも参考になる CakePHPを使いたくなる5つの特徴 まずは皆さんにCakePHPに興味を持っていただくため、フレーム

    CakePHPで高速Webアプリ開発:第1回 CakePHPを使いたくなる5つの特徴|gihyo.jp … 技術評論社
  • 第6回 意外に知られていないブラインドSQLインジェクション | gihyo.jp

    前回の記事でSQLインジェクションの話は終わりにして、クロスサイトスクリプティングの話を書かせて頂こうと思っていました。しかし、6月5日に東京にて開催されたPostgreSQLカンファレンス2007でセキュリティをテーマに講演させて頂き、意外にブラインドSQLインジェクションをご存じでない方が沢山いらっしゃいました。40名ほどの聴講者の皆様にSQLインジェクションをご存じの方?とお聞きするとほぼ全ての方が知っていると答えたのですが、ブラインドSQLインジェクションをご存じの方は数名でした。 SQLインジェクションの常識 ブラインドSQLインジェクションの話をする前に、SQLインジェクションとその対策の常識について確認します。 SQLインジェクション対策として間違ってはいないが不十分な対策 エラーメッセージを表示しない(特にSQLエラー) ユーザ入力文字列をエスケープする これらはSQLイン

    第6回 意外に知られていないブラインドSQLインジェクション | gihyo.jp
  • 1