タグ

phpとPHPに関するfubukinのブックマーク (19)

  • PHP4をより安全にするTIPS:phpspot開発日誌

    なぜPHPアプリにセキュリティホールが多いのか?:第13回 最後のPHP4 ── PHP4.4.9リリース|gihyo.jp … 技術評論社 にて、PHP4をより安全にするTIPSが紹介されています。 データベースクエリ用の文字列エスケープには専用関数を利用する MySQLを利用する場合,SET NAMESを利用しない PostgreSQLを利用する場合,クライアント文字エンコーディングを変更しない 入力文字のエンコーディングをmb_check_encoding関数で検証する バンドル版のlibgdを利用しない セッション管理にクッキーのみを利用する セッションモジュールにパッチを当てる 詳しくはこちら PHP4の公式なメンテナンスは終了しましたが、SRA OSS Inc でサードーパーティのPHP4延長サポートサービスというのがあるみたい。 記事にもありますが、PHP6と互換性が高く、P

    fubukin
    fubukin 2008/09/01
  • WEBアプリ用のテストデータを作るもの色々:phpspot開発日誌

    Test (Sample) Data Generators Sample / test data is an effective way to test web projects & applications. WEBアプリ用のテストデータを作るもの色々。 テストデータの生成は結構面倒ですが、ツールを使えば簡単、ということで1つはテストデータ生成ためのツールは押さえておきたいですね。 以下に列挙 generatedata.com テストデータをHTMLExcel、XML、CSVSQLの形式で出力可能。 出力データも、個人情報データや、テキストデータをフォーマットを選択して出力できます。 Datagenerator - GUIで動作するデータジェネレーター DBMonster データベースにランダム生成データを入れられるオープンソースソフト CSV data generator Ruby

  • [セキュリティ]画像へのPHPコマンド挿入 ― T.Teradaの日記

    だいぶ時間がたってしまいましたが、大垣さんの以下のブログにコメントしたことなどをまとめます。 画像ファイルにPHPコードを埋め込む攻撃は既知の問題 – yohgaki's blog アップロード画像を利用した攻撃についてです。 攻撃の概要 画像ファイルにPHPコマンドを挿入する攻撃は、大きく2種類に分けることができます。 1つは、画像のアップロード機能を持つサイト自身を狙う攻撃です。PHPで開発されており、任意の拡張子のファイルのアップロードを許すサイトでは、拡張子がphpなどのファイルをアップロードされる恐れがあります。 拡張子がphpなどのファイルに仕込まれたPHPコマンドは、そのファイルにHTTP/HTTPSでアクセスされた際に実行されます。攻撃者は、アップロードファイルを通じて、画像が置かれるWebサーバ上で任意のコマンドを実行することできます。 この脆弱性は、アップロード可能なフ

  • CakePHP 比較演算子インジェクションに注意

    @deprecated この情報はCakePHP1.2betaまでのものです。1.2RC1についてはこの方法は有効ではありません。詳しくはCakePHP 1.2RC1からは比較演算子をキーに書くをどうぞ。 CakePHPのモデルで検索条件を指定する場合は比較演算子に注意が必要です。 検索条件では↓な感じで条件値の他にSQLの比較演算子を入れることができます。 <?php class UserController extends AppController { funtion index($id) { $id = is_numeric($id) ? $id : 0; // $id より大きなidを持つレコードを取得 $list = $this->findAll(array('id' => '> ' . $id)); $this->set('list', $list); } } ?> これを見

  • IPA ISEC セキュア・プログラミング講座:Webアプリケーション編 第1章 総論:より良いWebアプリケーション設計のヒント

    ここで述べるのは、脆弱性が生まれにくいWebアプリケーションを構築するために設計段階、あるいはそれ以前の段階で考慮しておくとよい事項の例である。 (1) 開発環境の選択 1) プログラマが脆弱性をつくり易い環境を避ける 今日のWEBアプリケーション開発環境は、プログラミング言語の処理系に加えて、開発フレームワークやコンテンツ管理システム(CMS)、さらに外部のテンプレート言語までを加えた総合的な環境となってきている。 短時日で素早くサイトを立ち上げることを目的として、「軽量言語」と呼ばれる各種スクリプト言語が標準で備えているWEBアプリケーションを手軽に開発するための機能やライブラリをそのまま利用することは悪くない。しかし、その手軽さ故に、セキュリティの観点からは多くの脆弱性を生んできた経緯がある。 例えば、下記の事例が挙げられる。 PHPの4.1以前のバージョンの環境は、「registe

  • Smartyの日本語公式マニュアルが公開:phpspot開発日誌

    Smarty Smartyの日語公式マニュアルが公開されました。 「Smarty(暫定)」においても、Smartyのマニュアルが公開されましたが、公式サイトで公開されたのは嬉しいですね。 関連エントリ Smarty徹底入門(1) Smarty徹底入門(2):テンプレートにコメントを書く Smarty徹底入門(3):assignした配列を読み込む Smarty徹底入門(4):オブジェクトのメンバを読み込む Smarty徹底入門(5):変数を一気に割り当てる Smarty徹底入門(6):GET/POSTなどの外部パラメータを読み込む Smarty徹底入門(7):外部パラメータcookie/sessionを読み込む Smarty徹底入門(8):外部パラメータenv/serverを読み込む Smarty徹底入門(9):読み込まれているテンプレ名を取得 Smarty徹底入門(10):テンプレート内

  • Do You PHP はてな - 出力バッファとflush()・ob_flush()

    しばらく使わないとすっかり忘れてしまうので、まとめてメモ。 ありがちなネタとして、 プログレスバー(進捗状況をリアルタイムに表示) 「お待ちください」と表示させて裏で処理を実行し、処理が終わったら結果を表示する などがありますが、これらを行うには出力データのバッファリング/フラッシュを行うことになります。 で、PHP的にはob_*関数やflush関数を使うことになりますが、[PHP-users 18135]プログレスバーは実現可能か?のスレッドから flush()が動作する条件は、出力バッファが無いこと ob_flush()が動作する条件は、出力バッファのネストレベルが1であること 出力バッファのネストレベルはob_get_level()で取得できる output_handler、output_buffer(> 0)を指定すると、ネストレベルが変わります という注意点が挙げられます。 たと

    fubukin
    fubukin 2007/04/27
  • 第5回 まだまだ残っているSQLインジェクション | gihyo.jp

    SQLインジェクションは古くから知られている代表的なWebアプリケーションの脆弱性です。JavaScript関連の脆弱性に比べると対処が非常に簡単であるにも関わらず、まだまだ多くのアプリケーションがSQLインジェクションに脆弱です。SQLインジェクションに脆弱なアプリケーションはPHPアプリケーションに限った問題ではありません。JavaPerlなど、ほかの言語で作成されたWebアプリケーションにもまだまだ多くのSQLインジェクション脆弱性が残っていると考えられます。 重要なのは「正しく行えばSQLインジェクション対策は簡単」であることです。 SQLインジェクションの動作原理 SQLインジェクションの動作原理は単純で、解説するまでもないと思いますが、簡単に説明します。SQLインジェクションは、動的にSQL文を生成する際のパラメータに、プログラマが意図していない文字列を与えることにより、デー

    第5回 まだまだ残っているSQLインジェクション | gihyo.jp
  • サービス終了のお知らせ

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

  • Ethna - PHPウェブアプリケーションフレームワーク

  • http://cgi36.plala.or.jp/tera5/v/security/webap_sec2/chap01.html

  • 「Microsoft AJAX Library」をPHPで使う「PHP for Microsoft AJAX Library」:phpspot開発日誌

    Microsoft AJAX Library」をPHPで使う「PHP for Microsoft AJAX Library」 2007年01月29日- PHP for Microsoft AJAX Library A small set of PHP files to support using the Microsoft AJAX Library with PHP web applications. 「Microsoft AJAX Library」をPHPで使う「PHP for Microsoft AJAX Library」。 「Microsoft AJAX Library」は、ASP.net専用ということで、PHPからは使えませんが、このライブラリによってPHPからも使えるようになるようです。 ライブラリをざっとみてみたところ、PHPで作成したクラスのメソッドをそのままの名前でJav

  • PHProxy

    A platform built for a new way of working The Work OS that lets you shape workflows, your way Boost your team’s alignment, efficiency, and productivity by customizing any workflow to fit your needs.

  • 「すべての漢字を取り出す正規表現」をPHPで試す、を正しく行う:phpspot開発日誌

    Information Flow and Stock: [PHP] mb_ereg()じゃない、preg_match_all()に/uをつけるんだ! なので、できる限りpreg系の関数を使いたいわけですが、検索対象や検索パターンに日語が含まれているときは、日語処理に対応したereg系の関数であるmb_ereg系の関数が使われることが多いようです。 以前、「すべての漢字を取り出す正規表現」をPHPで試す、を正しく行う方法。 以前はmb_eregによる方法を示しましたが、次の方法の方がうまく動作するようです。 preg_match_all('/[一-龠]+|[ぁ-ん]+|[ァ-ヴー]+|[a-zA-Z0-9]+|[a-zA-Z0-9]+/u', $strToSplit, $aMatches); print_r($aMatches); // マッチ結果が全出力 確かに、なぜか取れない漢字があ

  • サービス終了のお知らせ

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

    fubukin
    fubukin 2006/12/09
  • サービス終了のお知らせ

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

  • Filtering & Escaping Cheat Sheet

    After having two conversation on escaping data for MySQL insertion within 5 minutes of each other in ##php@freenode, I decided to created a cheat sheet on Filtering & Escaping in general. I think what most people are not aware of is that not just outputting to the browser is output. So is querying a database, or calling one of the exec functions, or even using the mail function (not mentioned on t

  • Ajax,Apache,CSS,CVS,HTML,JS,Perl,PHP等のチートシートまとめ:phpspot開発日誌

    Smashing Magazine Blog Archive Cheat Sheet Round-Up: Ajax, CSS, LaTeX, Ruby… Ajax,Apache,CSS,CVS,HTML,JS,Perl,PHP等のチートシートまとめが紹介されてます。 チートシートって印刷して貼っておくとほんとに便利でお世話になってます。 Ajax関連 What’s Ajax? Cheat Sheet - PDF Prototype Dissected - Cheat Sheet PNG scriptaculous Combination Effects - Cheat Sheet - PDF Apache関連 Apache Cheat Sheet Apache 1.3 Quick Reference Card - free quick reference cards - PDF htacc

  • Flashプレイヤーの検出とHTML埋め込みを簡単に行えるJavaScriptライブラリ「SWFObject」:phpspot開発日誌

    フォームの入力内容にツールチップ表示をするJavaScriptライブラリ「Tool... 次の記事 ≫:JavaScriptで使えるカラーピッカー作成ライブラリまとめ deconcept ? SWFObject: Javascript Flash Player detection and embed script SWFObject is a small Javascript file used for embedding Macromedia Flash content. The script can detect the Flash plug-in in all major web browsers (on Mac and PC) and is designed to make embedding Flash movies as easy as possible. Flashプレイヤー

  • 1