タグ

2012年11月15日のブックマーク (11件)

  • PHPのis_a関数における任意のコードを実行される脆弱性(CVE-2011-3379)とは何だったか

    少し古いバージョンになりますが、PHP5.3.7および5.3.8のis_a関数には「任意のコードを実行される脆弱性(CVE-2011-3379)」があります。 任意のコードが実行されるとはただならぬ感じですが、このCVE-2011-3379はほとんど話題になっていません。なぜでしょうか。それは、この脆弱性が発現する条件が、レアなケースに限られるからです。 このエントリでは、CVE-2011-3379について少し詳しく説明することを通して、脆弱性情報の見方について考えてみます。 is_a関数とis_subclass_of関数 PHPにはis_a関数とis_subclass_of関数というよく似た関数があります。以下PHP5.3.6までの「元々の」仕様について説明します。 is_a関数は、2つの引数をとり、第1引数のクラス(インスタンスで指定)が、第2引数のクラス(クラス名で指定)またはそのサ

  • FuelPHPのValidationでフィールド毎の個別のエラーを取得する | Binbo-Special – WEB制作や運営に関する楽屋話 -

    FuelPHP、楽しいですよね。 楽しくて、時が立つのが早くて、なにがしかの納期が次々と襲ってきて悲しい日々を送っております。 さて、そんなFuelPHPですが、不満な点が無い訳ではなく、 Validationの結果のエラーメッセージ(show_errors())が文字列でしか受け取れない という不満点があります。 さらに、デフォルトではリストタグで落ちてきます。 ちょっとこれだと扱いづらい場面が・・・ 他に手動で作成したエラーメッセージとマージも出来ないし、なんだかなぁ、です。 いや、別に文字列でしか受け取れなくても良いよ。でもリストタグは嫌、という方は config.phpに追記してあげるだけで幸せになれると思います。 /** * Validation settings */ 'validation' => array( /** * Wether to fallback to

  • protectedを乱用してパッケージメンバを作る

    PHPではprivateと宣言したプロパティ、メソッドは、同じクラスのインスタンスであれば相互にアクセスできます。あまり意識することはないですが、たまにぎょっとすることになります。 <?php class Klass { private $data; function __construct($init) { $this->data = $init; } function get(self $o) { return $o->data; } } $a = new Klass('a instance'); $b = new Klass('b instance'); //echo $a->data; //これはエラーになる echo $b->get($a); //a instance //$bが$aのprivateメンバを読めた これはprotectedの場合でも同様であり、しかも継承したクラス

    protectedを乱用してパッケージメンバを作る
    Kenji_s
    Kenji_s 2012/11/15
  • FuelPHPをやってみる (12) - Controller_Restを使う - - kinjou_j (常に転職中)のメモログ

    2012-11-15 FuelPHPをやってみる (12) - Controller_Restを使う - PHP FuelPHP テスト Restfulサポートなコントローラー機構なController_Restを使ってみる。 fuel/app/classes/controller/sample.php <?php class Controller_Sample extends Controller_Rest { /* XMLフォーマットの場合のルートノード名。 protected $xml_basenode = 'data'; */ // レスポンスデータが無い場合のステータスコード。デフォルトは204だったはず protected $no_data_status = 404; // メソッドが無い場合のステータスコード。デフォルトは405だったはず protected $no_meth

  • overfree - FC2 BLOG パスワード認証

    ブログ パスワード認証 閲覧するには管理人が設定した パスワードの入力が必要です。 管理人からのメッセージ 閲覧パスワード Copyright © since 1999 FC2 inc. All Rights Reserved.

  • 愛知淑徳大学 市営バス Bnex||Next Bus Time

    06:3006:4006:5007:0007:0607:1207:1807:2407:3007:3507:4007:4407:4807:5207:5608:0008:0608:1308:2008:2708:3408:4008:4308:4608:4908:5208:5508:5909:0509:1509:2509:3509:4509:5510:0310:0910:1410:1910:2410:2910:3510:4510:5511:0511:1511:2511:3511:4511:5512:0512:1512:2512:3212:3812:4412:4712:5012:5312:58 13:0513:1513:2513:3513:4513:5514:0514:1514:2514:3514:4114:4414:4714:5214:5715:0515:1215:1915:2615:3515:4

  • FuelPHPを使ったバスの時刻チェックシステム | 1989.6.10

    ども、610です。 モバイルのウェブサービスを作りたいなぁと思っていた時に、友人からアイデアをいただいたので、問題を解決すべくシステム開発をしていました。(とはいっても時間はかけていません) 私は愛知淑徳大学というところにいるのですが、アクセスが市バス依存という状況で、混雑でバスを見送らなければならないことが多々あります。しかも、バス停は長蛇の列をなすことが多いため、先頭の時刻表を見に行くのも一苦労。かといって、写真で撮影して保存してもわざわざ見るのが手間。そんな問題を解決すべく(そして私の腕試しも;)、スマホのブックマークからワンタッチで次のバスが分るシステムを作りました。仕組みとしてはデザインをJQuery Mobileに一任し、FuelPHPでサーバーサイドの構築を行いました。 アクセスするとまず、大学へ行く直近のバスの時間がわかります。 時刻表の表示も可能です。 アクセスはこちらか

  • AppFogで始めるFuelPHP - BTT's blog

    がっつり使ったわけではないので、とりあえず環境構築まで。 タイトルが変だけど、まーいいか。 AppFogのSIGN UP AppFogのアカウントが無いと始まらないので、 http://www.appfog.com/ にアクセスし、右上『SIGN UP』からAppFogのアカウントを作成します。 アプリケーションの作成 次にアプリケーション(PHP+MySQL)の作成です。 以下のサイトを参考にさせて頂きました。 appfog に PHP + MySQL 環境を作る 上記サイトを参考に、PHP+MySQLのアプリケーションを作成します。 AppFogコマンドラインツールのインストール 以下のページを参考にAppFog用のコマンドラインツールをインストールします。 http://docs.appfog.com/getting-started/af-cli $ gem install af F

    AppFogで始めるFuelPHP - BTT's blog
  • FuelPHPのFileクラスについてまとめてみた。

    こんばんは。ファガイです。日はFuelPHPのFileクラスについてまとめています。 書いている途中で、ファイルハンドラの存在の確認と、ファイルハンドラのページが日語化されていて少しやる気を落としましたが、書ききった。 今回は長いので、インデックスを用意しています。公式ドキュメントのFileクラスにほぼ準拠した状態で書いているので、日語ドキュメントへの対応をしても良かったのではないかと思ってしまっていたりする・・・。 Index createメソッドcreate_dirメソッドreadメソッドread_dirメソッドupdateメソッドappendメソッドrenameメソッドrename_dirメソッドcopyメソッドcopy_dirメソッドdeleteメソッドdelete_dirメソッドopen_fileメソッドclose_fileメソッドgetメソッドget_urlメソッドget

    FuelPHPのFileクラスについてまとめてみた。
  • FuelPHPのfuel-pdfパッケージをセットアップしてHTMLをPDFにコンバートして出力

    とりあえずMAC(Mountain Lion)で。(OS毎に変化するのはload_font.phpの実行部分のみと思います。) -- 追記: Windowsでもbashで全く同様にload_font.phpを実行して、フォントのインストールが出来ました。 -- fuel-pdfを fuel/packages/pdf として配置する。 https://github.com/fuel-packages/fuel-pdf pdf/lib/dompdfを https://github.com/dompdf/dompdf で差し替える。 https://github.com/PhenX/php-font-lib を pdf/lib/dompdf/lib/php-font-lib として配置する。 pdf/lib/dompdf/load_font.phpを実行してフォントをインストールする。 php

  • DB::expr()万能すぎワロタ - Dazing days

    FuelPHP Advent Calendar 2012に登録しました。 まだ何を書こうか決めてませんけど…。 それにしても、去年の自分には想像出来なかったな、とちょっと感慨深いカンジです。 今回はFuelPHPのクエリビルダのお話です。 これまで、ややこしいクエリ書こうと思ったら最後、DB::query()で処理するしかないと思い込んでました。 そうすると当然ながら後からWHERE条件を足そうと思うと面倒なわけで。 もしかして?と思ってクエリビルダ内でところどころDB::expr()を呼ぶように書いてみたら、案外うまく行ってしまいました。 やってみるもんですね… 今回書いたクエリは以下の通りです。 ある親テーブルの情報+そこにぶら下がっている削除されていない子データの件数を取得するクエリですね。 $groups = \DB::select('t0.id', 't0.order', 't0

    DB::expr()万能すぎワロタ - Dazing days