タグ

phpに関するockeghemのブックマーク (412)

  • PHPの組み込み関数で例外を発生させる方法

    このエントリではPHPの組み込み関数でエラー時に例外を発生させる方法を紹介します。デフォルト状態では、PHPの組み込み関数の大半はエラー時に例外を発生させません。 前のエントリで、PHPのheader関数は戻り値を返さず、エラー時に例外も発生させないことを紹介しました。これは酷い仕様だと思うのですが、どうすればエラーハンドリングできるかを考えてみました。 header関数の場合、エラー(警告)そのものは出ているので、以下の二つの方法が候補として考えられます。 error_get_last関数で直近のエラーを取得してエラー処理する set_error_handlerで定義したエラーハンドラ関数でエラー処理する どちらもモダンな書き方とはほど遠い感じです。 前者は、BASICのon error resume nextを連想させますし、直近のエラーがどの箇所で起こったかは簡単には識別できないので

  • PHP5.4.0でheader関数の脆弱性が修正された

    PHPのheader関数にはHTTPヘッダインジェクション脆弱性がありましたが、PHP5.4.0で修正されていることを確認しましたので報告します。 PHPのheader関数はHTTPレスポンスヘッダを送信するための関数です。元々header関数には改行文字のチェックが入っていなかったので、HTTPヘッダインジェクション脆弱性が入りやすかったのですが、PHP4.4.2 および 5.1.2の修正として、「この関数は一度に複数のヘッダを送信できないようになりました。 これは、ヘッダインジェクション攻撃への対策です。」と、改行文字が入っている場合、レスポンスヘッダを送信しないようになりました(header関数のマニュアル参照)。 しかし、このチェックはラインフィード(0x0A)しかチェックしておらず、キャリッジリターン(0x0D)のみを使ったHTTPヘッダインジェクション攻撃が可能な状態でした。こ

  • http://atnd.org/events/25929

    http://atnd.org/events/25929
    ockeghem
    ockeghem 2012/03/09
    祝!満員御礼 / 好評につき、定員が130名に増員されました #phpcondo
  • ke-tai.org > Blog Archive > 2012年4月21日(土)に「PHPカンファレンス北海道」を開催します

    2012年4月21日(土)に「PHPカンファレンス北海道」を開催します Tweet 2012/3/7 水曜日 matsui Posted in お知らせ | No Comments » イベントの告知です。 2012年4月21日(土)に「PHPカンファレンス北海道」を開催します。 PHPカンファレンスは、過去に東京や関西で行われてきましたが、今回初めて北海道で開催することになりました。 ■ 開催概要 会期 : 2012年4月21日(土) 10:00~18:00 会場 : 札幌市産業振興センター セミナールームA 主催 : PHPカンファレンス北海道2012実行委員会・LOCAL PHP部 → PHPカンファレンス北海道 公式サイト [phpcon.php.gr.jp] 午前中は、初心者・デザイナー向けセッションとして、簡単に使えるPHPのテクニックや、世界的に利用者の多いWordPress

    ockeghem
    ockeghem 2012/03/07
    支援ブクマ。私も「徳丸本に載っていないWebアプリケーションセキュリティ」という演題でトークします #phpcondo
  • 【PHP】フレームワーク CakePHP 13ホール目【v2.0】 | ログ速@2ちゃんねる(net)

    ockeghem
    ockeghem 2012/03/07
    これだった>『原因はPDOStatement::getColumnMeta()でtable名が返ってこないためです』
  • PHP: PHP 5.4.0 Release Announcement

    Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su

    PHP: PHP 5.4.0 Release Announcement
    ockeghem
    ockeghem 2012/03/02
    祝! PHP5.4.0 リリースされました
  • プログラム|PHPカンファレンス北海道

    第1セッション(40分) 長谷川 広武(フリーランスHTMLコーディング時に便利なPHPの「ちょっとしたコード」 ウェブデザイナーにとっても、PHPの「ちょっとしたコード」を知っていると、Webサイトコーディングの制作に役立ちます。単なる静的なサイト制作でも、この「ちょっとしたコード」を利用することで、効率よく制作を進められます。そんな作業効率化につながるPHPのTipsをご紹介します。 第1セッション(190分) 濃縮版 8時間耐久 CakePHP2.1 このセッションには別途参加申し込みが必要です。 東京、大阪、福岡で開催された8時間耐久CakePHP2が3時間に濃縮されて北海道にやってきます。 CakePHP2.1を使った開発の方法を実際のデモを交えて解説します。 詳細は「参加登録」ページをご覧下さい。

    ockeghem
    ockeghem 2012/03/01
    すみません。まだタイトル決めていません(_ _) 聞きたいネタのリクエストありますか?>北海道の方々
  • 5分でできるPHPセキュリティ対策 - ぼくはまちちゃん!

    こんにちはこんにちは!! Webプログラミングしてますか! よく「PHPセキュリティがダメ」とか言われてるよね。 でもそれって、べつにPHPが悪いんじゃなくて、 たぶん、セキュリティとかが、まだよくわからない人が多いだけなんじゃないかな。 がんばって勉強しようと思っても、なんだか難しい理屈が並んでいたりするしね…。 なので今日は、セキュリティ対策について、 「これだけやっとけば、わりと安全になるよ」ってことを、初心者むけに、大雑把に書いてみます! 理屈がわからなくても、最初はコピペでも、 なにもやらないより、やったほうがきっとマシになる! 1. XSS対策 動的なものを表示するとき、全部エスケープすればokです! (NG) あなたの名前は <?= $name ?> ですね! ↓ (OK) あなたの名前は <?= htmlspecialchars($name, ENT_QUOTES) ?>

    5分でできるPHPセキュリティ対策 - ぼくはまちちゃん!
    ockeghem
    ockeghem 2012/02/16
    これ守るだけも大変そう。『htmlの属性部分には、原則として動的なものを埋め込まない』<難しくない? あと初心者にはmdb2はきついかも
  • JVNDB-2012-001323 - JVN iPedia - 脆弱性対策情報データベース

    PHP の php_variables.c 内の php_register_variable_ex 関数における任意のコードを実行される脆弱性 PHPphp_variables.c 内の php_register_variable_ex 関数には、任意のコードを実行される脆弱性が存在します。 脆弱性は CVE-2011-4885 に対する修正が不十分だったことによる脆弱性です。

    ockeghem
    ockeghem 2012/02/08
    『CVE-2011-4885に対する修正が不十分だったことによる脆弱性です』
  • 786686 – (CVE-2012-0830) CVE-2012-0830 php: remote code exec flaw introduced in the CVE-2011-4885 hashdos fix

    ockeghem
    ockeghem 2012/02/03
    PHP5.3.9にてhashdos対策の際に混入したリモートコード実行の脆弱性。PHP5.3.10にて修正
  • phpMyAdminを狙う攻撃が増加、アップデートなどの対策を - @IT

    2012/01/16 2011年の年末から2012年にかけて、phpMyAdminの脆弱性を狙った攻撃が増加しており、注意が必要だ。いくつかのブログで、phpMyAdminの脆弱性をスキャンしたと見られるログが報告されている。 phpMyAdminは、PHPで実装されたMySQLの管理ツールだ。機能が豊富で、Webインターフェイス経由でMySQLを管理できることから広く利用される一方で、複数の脆弱性が発見されており、たびたび攻撃の標的になってきた。 古くは2009年3月に、「phpMyAdminのsetup.phpにおける任意のPHPコードを挿入される脆弱性(CVE-2009-1151)」が発見され、学術機関を中心に被害が発生した。 また2011年7月にも、任意のコードを実行可能な2種類の脆弱性(CVE-2011-2505、CVE-2011-2506)が発見されている。この脆弱性に関するN

    ockeghem
    ockeghem 2012/01/20
    皆様ご注意を
  • Cookieによるhashdos攻撃と対策

    このエントリでは、Cookieを用いたhashdos攻撃の可能性について検討し、実証結果と対策について報告します。 はじめに既に当ブログで報告の通り、hashdosと呼ばれる攻撃手法が公表されています。HTTPリクエストのパラメータ名に対するハッシュ値を故意に同一にした(衝突させた)ものを多数(数万程度)送信することにより、Webサーバーを数分程度過負荷にできるというDoS攻撃手法です。 先の記事でも説明しているようにPOSTパラメータ(HTTPリクエストボディ)に多数のパラメータを仕込む攻撃が典型的ですが、POSTパラメータ以外のパラメータを用いた攻撃についても検討しておかないと、防御漏れの可能性が生じます。 そこで、POSTパラメータ以外を用いた攻撃方法について検討します。 POST以外に多数のパラメータを仕込めるかPOST以外に多数のパラメータを仕込む場所があるでしょうか。候補となる

    ockeghem
    ockeghem 2012/01/19
    日記書いた #hashdos
  • プロになるための PHPプログラミング入門

    2012年1月13日紙版発売 星野香保子 著 B5変形判/344ページ 定価2,948円(体2,680円+税10%) ISBN 978-4-7741-4972-1 ただいま弊社在庫はございません。 Amazon 楽天ブックス 丸善ジュンク堂書店 ヨドバシ.com 書のサポートページサンプルファイルのダウンロードや正誤表など このの概要 ありきたりなサンプルが載ったPHPプログラミングの入門書で,かえって混乱していませんか。後輩から古いコーディングスタイルと言われたことはありませんか。セキュリティ面で被害を最小にするコーディングもできればしたいものです。書は,初心者プログラマが「プロとしてPHPで開発するために必要な技術」をきめ細やかに丁寧に解説しました。プログラミングをしていると突き当たる問題を速やかに解消するためには,基礎の基礎,つまり技術の根底を理解することが必要です。Web技

    プロになるための PHPプログラミング入門
    ockeghem
    ockeghem 2012/01/18
    Amazonで注文した
  • 安全を考えてPHPの実行時設定を調整する

    PHPを初期設定のまま使うと、いろいろ問題が起こる可能性があります。今回は、問題の発生を未然に防ぐ設定法をいくつか紹介します。(編集部) 初期設定のままでは良くないところもある ここ数回はPHP実行時の設定について解説しています。実行時設定を変更する方法として、PHPの設定ファイル(以下php.iniファイル)に設定を記述する方法と、Apache HTTP Server(以下Apache)の設定ファイルにPHPの設定を記述する方法の2つがあり、前回はその使い分けについて解説しました。 サーバ全体で標準の設定値としたいものはphp.iniファイルに、バーチャルホストやURLごとに変更したいものはApacheの設定ファイルに記述する、という使い分けの指針も示しました。 今回は、php.iniで設定できる項目、つまりサーバ全体にかかわる設定項目の中でも、初期設定のままにしておくことがあまり適切で

    安全を考えてPHPの実行時設定を調整する
    ockeghem
    ockeghem 2012/01/05
    『PHPを使っているという事実を隠す』<拡張子が.phpという時点でバレバレだし、もっと別のところに気を配るべき
  • htmlspecialchars()の使い方 - $_POST['a']のように''でくくっている場合は第2引数にENT_QU... - Yahoo!知恵袋

    $_POST[●●]の●●の書き方は関係ありません。 ENT_QUOTESを指定する必要があるのは、以下の両方の条件を満たす場合です。 ・属性値を出力している場合 ・属性値をシングルクォート「'」で囲っている場合 すなわち、以下のようなケースです <input name="a" value='<?php echo htmlspecialchars($_POST["a"], ENT_QUOTES, "UTF-8"); ?>'> value=の右辺をシングルクォートで囲っています。この場合、シングルクォートがそのまま出力されると、その時点でシングルクォートで囲った文字列が終わりになるので、それを避ける為に、シングルクォートもエスケープする必要があります。 一方、属性値をダブルクォートで囲む場合は、ENT_QUOTESでも、ENT_COMPATでもよいです。以下の例では、value=の右辺をダブ

    htmlspecialchars()の使い方 - $_POST['a']のように''でくくっている場合は第2引数にENT_QU... - Yahoo!知恵袋
    ockeghem
    ockeghem 2011/12/30
    『$_POST['a']のように''でくくっている場合は 第2引数にENT_QUOTESを入れておくらしいのですが』<これも斬新な…
  • setcookieでクッキーを削除できなくて困っています。 - 現在会員サービスを趣味で作っています。その中で、一度ログインして... - Yahoo!知恵袋

    setcookieでクッキーを削除できなくて困っています。 現在会員サービスを趣味で作っています。その中で、一度ログインしてから2週間はidとパスワードを入力する必要なくログインできる機能をsetcookie関数を使って作りました。 以下がログイン時にセッションにidを保存するスクリプトです。 //ログインボタンがクリックされた場合の処理 if (isset($_POST["login"])) { //ログインIDとパスワードが入力されているかチェックする if ($_POST["loginid"] === "" || $_POST["password"] === "") { $error_message = "ログインIDとパスワードを入力してください。"; //ログインIDとパスワードが入力されていたら処理する } else { //ログイン関数を呼び出し、trueが返ってきたらログイ

    setcookieでクッキーを削除できなくて困っています。 - 現在会員サービスを趣味で作っています。その中で、一度ログインして... - Yahoo!知恵袋
    ockeghem
    ockeghem 2011/12/29
    クッキーで自動ログインを実装しようとしているが、徳丸本P330の自動ログインの危険な実装例に該当しそうなのでその旨指摘した
  • サービス終了のお知らせ

    平素より「PHPプロ!」をご愛顧いただき、誠にありがとうございます。 2006年より運営してまいりました「PHPプロ!」ですが、サービスの利用状況を鑑みまして、2018年9月25日(火曜日)をもちましてサービスを終了させていただくことになりました。 サービス終了に伴いまして、2018年8月28日(火曜日)を持ちまして、新規会員登録ならびにQ&A掲示板への新たな質問、回答の投稿を停止させていただきます。 なお、ご登録いただいた皆様の個人情報につきましては、サービス終了後、弊社が責任をもって消去いたします。 これまで多くの皆様にご利用をいただきまして、誠にありがとうございました。 サービス終了に伴い、皆様にはご不便をおかけいたしますこと、心よりお詫び申し上げます。 件に関するお問い合わせはこちらよりお願いいたします。

    ockeghem
    ockeghem 2011/12/18
    検索条件が動的に変わる場合のプレースホルダの使用法については徳丸本P135に説明しています(徳丸メソッド) #wasbook
  • Symfony2 の力を借りたセキュア開発 (Symfony Advent Calender 2011 JP - 18日目) - co3k.org

    Symfony Advent Calender 2011 JP 18日目です。前回は @hidenorigoto さんでした。リダイレクト・インターセプションは 2.0.0 が出る前のどこかのタイミングでデフォルトでオフになって焦った記憶があります。投稿処理などをしたタイミングでプロファイラを見る機会が多いので、有効にしておくと便利ですよね。 さて、 18 日目となるこのエントリでは、セキュリティの観点から Symfony2 の機能について簡単に観ていくことにします(当はしっかり見ていくつもりだったのですが、時間的制約から急遽簡単になりました!)。 ここでは Symfony Standard Edition v2.0.7 のインストール直後の構成、依存ライブラリを前提として解説します。また、 Web アプリケーションセキュリティに関する基的な知識を持っていることを前提として説明します。

    ockeghem
    ockeghem 2011/12/18
    とても参考になります。実用的な内容ですね
  • PHPのセッションアダプション脆弱性克服への道のり

    (Last Updated On: 2018年8月13日)PHP Advent Calender用のエントリです。 PHPのセッション管理は非常に簡単です。セッションをsession_start()で開始して$_SESSION配列を使うだけです。便利で簡単なセッションモジュールですがセッションアダプションに脆弱であるため、一般に言われてる「ログインする時にはsession_regenerate_id()を呼ぶ」コーディングではセッションアダプションに脆弱になってしまいます。 まずは危険性と対策を紹介します。 セッションアダプションの危険性 セッションアダプションとは外部などから設定されたセッションIDを受け入れ初期化する脆弱性です。一番分かりやすい例はTrans SIDを有効にして http://example.com/index.php?PHPSESSID=1234567890 とアクセ

    PHPのセッションアダプション脆弱性克服への道のり
    ockeghem
    ockeghem 2011/12/05
    『セッションアダプションが致命的な脆弱性であることは少しブラウザのクッキーで実験してみれば分かる』<実験した http://t.co/so8Y2fWu
  • PHPカンファレンス北海道

    ついに、あのPHPカンファレンスが北海道でも開催されます。道内外から様々な技術者の方々の講演を予定しています。皆様の参加をお待ちしております! 終了しました!ありがとうございました! 公式ハッシュタグ:#phpcondo

    ockeghem
    ockeghem 2011/12/01
    イイネ!