タグ

2011年1月9日のブックマーク (4件)

  • file_get_contentsでPOSTデータ送信 - 覇王色を求めて

    日からPHPのメモを記述して行こうと思います。 さて早速今日のネタ。 ぎじゅっやさんにてfile_get_contentsでWebページへアクセスする際に、UserAgentを変更する方法が紹介されています。 では、これを応用してfile_get_contentsを使ってPOST形式でデータを送信してみましょう。 参考コード <?php //POSTデータ $data = array( "param1" => "data1", "param2" => "data2" ); $data = http_build_query($data, "", "&"); //header $header = array( "Content-Type: application/x-www-form-urlencoded", "Content-Length: ".strlen($data) ); $cont

    file_get_contentsでPOSTデータ送信 - 覇王色を求めて
  • (PHP)入力チェックを行うためのいろいろな正規表現 | old_3流プログラマのメモ書き

    Webで入力された情報のチェックを行うための正規表現のまとめです。 ちなみに、こちらのサイトでオンラインで正規表現のチェックができます。 簡単に評価できるので非常に助かってます。 カタカナ(全角)入力 preg_match( '/[ァ-ヶ]+/',$text ) このァかヶの範囲は文字コード表を見るとわかります。 ※追記 この方法だとうまくいきませんでした。 ということで、mb_eregを使って、こういう方法で。 mb_regex_encoding("UTF-8"); mb_ereg( "^[ァ-ヶ]+$" , $message ); 参考:全角カタカナにマッチする正規表現 ※さらに追記(2008/11/11) cakePHPのバリデーションでは上の方法でうまくいかない場合がありました。 それでこちらを参考に下記のようにしたらうまくいきました。 /^(?:\xE3\x82[\xA1-\xB

    (PHP)入力チェックを行うためのいろいろな正規表現 | old_3流プログラマのメモ書き
  • 何故かあたり前にならない文字エンコーディングバリデーション

    (Last Updated On: 2018年8月8日)私が4年前(2005年)に「Webアプリセキュリティ対策入門」を執筆していた時には、既に壊れた文字エンコーディングなどの不正な文字エンコーディングを利用したJavaScriptインジェクションやSQLインジェクション攻撃は比較的広く知られていました。この問題は当時のスラッシュドットジャパンでも取り上げられていました。/.で取り上げられたので、そこら中のWebサイトとユーザが被害に合うのでは?とヒヤヒヤしたので良く覚えています。 不正な文字エンコーディングを利用した攻撃は、文字エンコーディングを厳格に取り扱い、文字エンコーディングをバリデーションすれば無くなります。これを怠ると、システムのどこで問題が発生するか予想できなくなります。つまり、いい加減に文字エンコーディングを取り扱うと安全なシステムは作れないのです。 参考:エンジニア向けに

    何故かあたり前にならない文字エンコーディングバリデーション
  • 第27回 見過ごされているWebアプリケーションのバリデーションの欠陥 | gihyo.jp

    今回解説するWebアプリケーションのバリデーションの欠陥はPHPに限った問題ではありません。多くのプラットフォームのWebアプリケーションで見過ごされているバリデーション仕様の欠陥です。それは文字エンコーディングのチェックです。 文字エンコーディングバリデーションの必要性 筆者の知る限りでは、2004年に相次いで今まで知られていなかったアタックベクタ(攻撃経路)が見つかりました。2004年に多く見つかった新しいアタックベクタとは不正な文字エンコーディングを利用した攻撃です。不正な文字列を利用したJavaScriptインジェクションやSQLインジェクションの攻撃手法が公開されました。 文字エンコーディングを利用した攻撃自体は当時でも新しい攻撃手法ではありませんでした。文字エンコーディングを利用した攻撃は、少なくとも2000年から広く知られていた攻撃手法でした。ブラウザが文字エンコーディングを

    第27回 見過ごされているWebアプリケーションのバリデーションの欠陥 | gihyo.jp