タグ

PHPに関するarray08_12のブックマーク (368)

  • セッションアダプションがなくてもセッションフィクセイション攻撃は可能

    大垣(@yohgaki)さんと、セッションアダプション脆弱性が「重大な脅威」か否かで論争を続けています。 大垣さん:第25回 PHPのアキレス腱 ── セッション管理徳丸:PHPSession Adoptionは重大な脅威ではない大垣さん:PHPのセッションアダプション脆弱性は修正して当然の脆弱性議論がかみ合わないので、twitterで「ブログ読みました。サンプルも動かしました。問題は分かるのですが、セッションアダプションがないPHPだと、何が改善されるのかが分かりません。教えて下さい」とツイートしたところ、大垣さんがブログで返信下さいました。 大垣さん: セッションアダプション脆弱性がないセッション管理が必要な理由これを読んでかみ合わない理由が分かりました。大垣さん、ありがとうございます。以下大垣さんのブログの末尾を引用します。 脱線しましたが、何が改善されるのか?結論は ログイン時に

    セッションアダプションがなくてもセッションフィクセイション攻撃は可能
  • Smarty3のHTMLエスケープ方法いろいろ + 修飾子プラグインと変数フィルタ (PHP Advent Calendar 2012 Day 11) - k-holyのPHPとか諸々メモ

    PHP Advent Calendar 2012 11日目の記事です。 昨日は Shusuke Otomo さんの 初めて Pull Request した話。 #phpadvent2012 | slumbers でした。 皆さん、テンプレートエンジンは何を使ってますか? おおっぴらに使ってますと発言するのもちょっと勇気がいるくらい、スキル高そうなPHPerの皆さんからよくdisられている(ような気がする)Smartyですが、実際のところ現役のユーザーは結構いるんじゃないでしょうか。 (参考記事 PHP ユーザは実際はどんなテンプレートエンジンを使っているのか? (途中経過) - A Day in Serenity @ kenjis) 今回はそんなSmartyを題材に「テンプレート変数のHTMLエスケープ」と、それに関連する機能「修飾子プラグイン (Modifier Plugin)」「変数フ

    Smarty3のHTMLエスケープ方法いろいろ + 修飾子プラグインと変数フィルタ (PHP Advent Calendar 2012 Day 11) - k-holyのPHPとか諸々メモ
  • 初めて Pull Request した話。 #phpadvent2012

    昨日は 竜一 得上 さんの 「PHPマジカルしばり + Raspberry Pi でPHPを動かしてみた」 でした。 Raspberry Pi はじめて知りました。確かに名刺サイズです。PHP もサクッと入るみたいなんでいいおもちゃにナリそうですね :) マジカル定数 __DIR__ の影の薄さは異常だとおもう今日この頃、__LINE__ も「ラ↓イン↑」か「ラ↑イン↓」の発音の仕方で世代が分かりそうです。そして僕は「マジカル」という響きに昭和な香り感じる世代です。マジカルバナナとか 2011年:Eclipse と Xdebug で PHP をステップ実行 PHP Advent Calendar jp 2011 #phpadvent2011 2010年:今更きけないあの娘の名前 (PHP Advent Calendar jp 2010 Day 9) と書きました。 今年は何を書こうかと思い

    array08_12
    array08_12 2012/12/10
    これは盲点だった。非常にありがたいですね。 / “初めて Pull Request した話。 #phpadvent2012 | slumbers”
  • PHP5.3.2以降ではfcloseで自動的にアンロックされない

    PHP家サイトでflockの説明を読んでいたら、以下の変更履歴に気がつきました。 5.3.2 ファイルのリソースハンドルを閉じたときにロックを自動的に解放する機能が削除されました。 ロックの解放は、常に手動で行わなければなりません。 http://php.net/manual/ja/function.flock.php ところがネットの解説を見ると、ロック開放はflock($fp, LOCK_UN); ではなく、fcloseでやれとしている解説が結構あります。 (4)fcloseの前にflock解除するな … fcloseの前にflock(ファイルポインタ, LOCK_UN) する人は実に多いのですが、これははっきりと間違いだと断言します @ITPHPの記事が突っ込みどころ満載 - 暴言満載 LOCK_UNは普通は使われない。ロック開放はfclose()関数でやるのが鉄則。 http

    PHP5.3.2以降ではfcloseで自動的にアンロックされない
  • ミニマムなPHP5.4移行ガイド - Cybozu Inside Out | サイボウズエンジニアのブログ

    「サイボウズ・アドベントカレンダー」の2日目です(これまでの記事一覧)。 こんにちは。Garoonのメンテナンスチームの横田です。 JavaScriptだなんだと言っていますが、今日はPHPのバージョンアップの話です。 以前話題になっていた記事やコメントをみると、恐ろしすぎてついていけないです。しかし、いつかはPHPのサポートが切れて、PHP5.4への移行をしなくてはいけません。gkbrモノですよね!特段すごいことでないと前置きしておきますが、できるだけコードを触らずにPHP5.4で動かすためには、どうしたらいいのかをちょちょいと説明しちゃいます! PHP5.4対策 まずは、php.iniファイルのE_STRICTを切ります。PHP5.4ではデフォルトでONになりますので、明示的に切りましょう。 Call-time pass-by-reference(関数呼び出し時の参照渡し)がPHPの機

    ミニマムなPHP5.4移行ガイド - Cybozu Inside Out | サイボウズエンジニアのブログ
  • PHPのDIで動的にオブジェクトを確保する考察

    Dependency InjectionがPHPでも流行っているそうです。が、未だによくわからないので、わからないところを自分なりに考察してみます。 ※DIコンテナではなくデザインパターンとしてのDIを考えます。 Dependency Injectionとは Dependency Injectionはデザインパターンの一種です。日語なら依存性の注入と訳されます。「Inversion of Control コンテナと Dependency Injection パターン」が原典でしょうか。 ざっくり要約すると「クラスの中でnewしてはいけない。必要なインスタンスは外から突っ込むべし」というところかな。 class Y { private $x; function __construct() { $this->x = new X; } //...$xを使ったコード色々... } 上記のYクラス

    PHPのDIで動的にオブジェクトを確保する考察
  • 今時なCakePHPでの開発環境!? - kaz29

    前職を退職してもう半年以上経ってしまいました。おかげさまで、レガシーなコードとのバトル等色々お仕事しています。 さて、先日のPHP Matsuri2012での@ryuzeeさんの発表を聞いて、開発環境や手法を改善するべく、今月から始まったプロジェクト用の環境を構築しています。 CakePHPは最新で! CakePHPの最新stable版は 2.2.3 ですが、既に 2.3.0-beta が公開されています。幾つか2.3.0-betaの機能で使いたかったものがあったのと、今回のプロジェクトのリリース時期が来年の5月という事もあって、2.3.0-beta を使って開発をしています。来年の5月なら2.3.0Stable版がリリースされるんじゃないかとの読みです(^^;さて、どうなるでしょうかw? 出来る限り公開されているPluginを使う 前職の職場では、ある程度蓄積された自前のPluginがあ

    今時なCakePHPでの開発環境!? - kaz29
  • PHP language update 201211

    8. ジェネレータとコルーチン スクリプト 実行結果 <?php int(1) function foo() { int(2) yield 1; yield 2; int(3) yield 3; } foreach (foo() as $a) { var_dump($a); } 9. ジェネレータとコルーチン スクリプト 実行結果 <?php started function coroutine() { echo "startedn"; 1 while (true) { 2 $val = yield; echo "$valn"; } } $c = coroutine(); $c->send(1); $c->send(2);

    PHP language update 201211
  • How to start with Zend Framework 2? - Zend Framework 2.0 - Zend Framework Wiki

  • Creating Re-usable Modules for Zend Framework 2

    Matthew Weier O'Phinney Project Lead, Zend Framework PHP Developer http://mwop.net/ @weierophinney

  • PHP5.5 Alpha1リリース! 新機能を俯瞰する

    こんにちは、久保田です。 PHP5.5 Alpha1が11/15日付けでリリースされました。この記事では以下のような新機能や変更を紹介します。 ・ジェネレータとコルーチンの追加 ・finallyキーワードの追加 ・配列や文字列のデリファレンスのサポート ・foreachの中でのlist表現 ・PCRE正規表現での/e修飾子が非推奨化 ・NEWS翻訳 ジェネレータとコルーチンの追加 PHP5.5での一番大きな新機能は、ジェネレータとコルーチンの追加です。文法にyield構文が追加されました。 まずは、ジェネレータを説明します。例えば以下の様なコードが動きます。 <?php function hoge() { yield "hoge"; yield "fuga"; yield "piyo"; } foreach (hoge() as $str) { var_dump($str); }

  • pecl-AOPの紹介

    開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-Jumpei Miyata

    pecl-AOPの紹介
  • 「一日一問!! PHP」(全15回)まとめました | 開発・SE | マイナビニュース

    三週連続でお届けした好評企画「一日一問!! PHP」(全15回)をまとめました~。 【ハウツー】一日一問!! PHP(1) - 文字列の扱いに関する問題【難易度: 低】 今週からはPHPから出題していきます! 最初の問題は、文字列の扱い方です。シングルクォートとダブルクォートの使い分け、ちゃんとできてますか? [12:00 10/9] 【ハウツー】一日一問!! PHP(2) - boolean型の問題【難易度: 低】 条件式に欠かせないboolean型。今日は、ゲームの当たり判定などに使える便利なルールをクイズでおさらい! [12:00 10/10] 【ハウツー】一日一問!! PHP(3) - 数値と文字列の加算の問題【難易度: 中】 言語によって演算子や文字列の扱い方に違いがあります。多言語プログラマーの皆さん、うっかりミスに気をつけて! [12:00 10/11] 【ハウツー】一日一問

  • PHPUnitのモックで設計とリファクタが捗る | 48JIGEN *Reloaded*

    class TwitterClient { public function tweet($message) { return true; } } $hoge = new TwitterClient(); $hoge->tweet('大心なう'); // trueが返る class ClientContainerTest extends PHPUnit_Framework_TestCase { public function test_モックを書いてみる() { $hoge = $this->getMock('TwitterClient', array('tweet')); $hoge->expects($this->any()) ->method('tweet') ->will($this->returnValue(true)); $hoge->tweet('大心なう'); // true

    PHPUnitのモックで設計とリファクタが捗る | 48JIGEN *Reloaded*
  • PHPerのためのJenkins

    序文 ソフトウェア開発とはままならないものだ。そもそも開発と銘を打たれているにも関らず製造工程のような量的単位「工数」で管理しようとしているので致し方無いのかも知れない。そう、開発と言うからには「作ったことの無いものを作る」ということであるにも関わらず、 ・「何人がかりで何日で出来る?」と聞く ・「何日くらいですかね、やってみないと分からないけれど」と答える ・「分からないけれど」はとりあえず無視して、何日かの余分をとってスケジュールを作る そんなことをしていれば古典落語に出てくる「致し方ないけれど起こる残念な出来事」のようなオチにしかならないのは目に見えているのだが、これは現実によく有るやりとりである。しかし、これでもまだマシな部分も有る。少くとも作ろうとしてとしている人が「何日で出来そうか?」について答えているからだ。作ろうとしている人ではない人が当てずっぽうに答えてスケジュールが決ま

  • PHP のコードパスを解析する CodePathAnalyzer を作った | Born Too Late

    レガシーコードと戦っていると、「このコードのどこをどう通ってこういう結果になってしまっているのか」がわからなくなることがあります。 初見でコードを理解する能力は、コードを読んできた経験が多ければ多いほど、向上するものだと思います。 とは言っても、構造化やモジュール化が適切でなく、スコープの長大なコードなどは、人間の限界を超えているものもあるでしょう。 ステップ実行のできる IDE などを使う、という選択もあると思いますが、僕は重厚な IDE を好みません。 もっと楽にできる方法で、コードパスを解析する方法があれば、ということで作ってみました。 yuya-takeyama/code_path_analyzer 元になっているのは、仕事の時にコード中にベタ書きした関数です。 Gist に公開したところはてブが 10 ぐらい付いたのと、次必要になったときにすぐ使えるようにしておきたかったので、ラ

    PHP のコードパスを解析する CodePathAnalyzer を作った | Born Too Late
  • Design Patterns Bootcamp

  • Ooharabucyou

    詳しくは投稿をご覧ください。

    Ooharabucyou
  • PHPのstrtotimeが対応しない書式の日付を正規化する『超strtotime』を公開しました

    PHPのstrtotimeが対応しない書式の日付を正規化する『超strtotime』を公開しました 2012年11月04日 15:02PHP 超strtotime() は当初ウケ狙いで strtoti.me というドメインだったんですが、�なんやかんやありまして別のものに変わりました。 PHPMatsuri 2012 というイベントに参加して作りました。 超strtotime() これは何 PHP の strtotime() では対応できない書式の日付を正規化して JSON で返すサービスです。 strtotime はできる子 strtotime はこういう関数で PHP: strtotime – Manual 英文形式の日付を Unix タイムスタンプに変換する なかなかできる子です。 PHP マニュアルのサンプルはこうなってるけど echo strtotime("now"), "\n"

    PHPのstrtotimeが対応しない書式の日付を正規化する『超strtotime』を公開しました
  • UbuntuでNetBeans7.3+PHPの環境設定メモ - きしだのHatena

    メモ。 Ubuntu12.04LTS Ubuntu12.04LTS 32bitのisoをダウンロード http://www.ubuntu.com/download/desktop Ubuntu12.10は、VirtualBox4.1.22のGuest Additionsが対応してなくて、画面のリサイズができなかった。*1 「デスクトップ」とかのカタカナフォルダを「Desktop」にする。 $ LANG=C xdg-user-dirs-gtk-update 「もうたずねない」のチェックを入れつつ間違って「Old Filename」のほうを押すと死ぬ・・・(2013/1/5) VirtualBoxの共有フォルダ用 $ sudo usermod -a -G vboxsf kishida -a忘れると死ぬ。 (追記 2013/1/4) Javaまわり JDK7u8をとってきて解凍 NetBeans

    UbuntuでNetBeans7.3+PHPの環境設定メモ - きしだのHatena