タグ

PHPに関するhatecafeのブックマーク (30)

  • 2015年最新PHPフレームワーク(9つ)のベンチマーク — A Day in Serenity (Reloaded) — PHP, CodeIgniter, FuelPHP, Linux or something

    (2015-04-22 追記) この記事は古くなっています。最新のベンチマーク結果は https://github.com/kenjis/php-framework-benchmark を参照願います。現在はベンチマークポリシーの一部を変更し、ベンチマーク対象フレームワークが増え、バージョンも更新されています。 CakePHP 3.0がついにリリースされ、CodeIgniter 3.0もBEAR.Sunday 1.0もリリース目前です。 そこで、以下の 9 10の最新PHPフレームワークをベンチマークしてみました。 Phalcon 1.3.4 CodeIgniter 3.0-rc3 Slim 2.6.2 Yii 2.0.4 FuelPHP 1.8-dev Silex 1.2.3 BEAR.Sunday 1.0.0-rc2 CakePHP 3.0.0 Symfony 2.6.5 Larave

  • PHPに関するHTTPOXY脆弱性の問題と対応方法 - Code Day's Night

    外部から簡単にHTTP_PROXYという環境変数がセットでき、サーバ間通信や外部サイトと連携している場合に影響があるかもしれない脆弱性です。(HTTPoxy. CVE-2016-5385) PHPの場合はphp-fpm, mod_php, Guzzle4以上やいくつかのライブラリで影響あります。 対応方法は簡単です。 Apache側で対応する場合は、mod_headerを使える状況であれば、confファイルに下記の1行を追加。 RequestHeader unset Proxy FastCGIの場合は下記の1行を追加。 fastcgi_param HTTP_PROXY ""; Guzzleは6.2.1で対応されたようです。 Release 6.2.1 release · guzzle/guzzle · GitHub コミットログを見ると、CLIの時のみ、getenv('HTTP_PROXY

    PHPに関するHTTPOXY脆弱性の問題と対応方法 - Code Day's Night
  • どこでもPHPUnit - 戦えプログラマン

    何? PHPでユニットテストを試しに書いてみたいけど、導入方法がわからない? そもそも導入に申請が要る?時間がない?外部プログラム利用禁止? お兄さん良いものがありますよ。 よってらっしゃいみてらっしゃい。 どこでも誰でも人類皆等しく、今すぐ PHPUnit (のような何か)を書ける! さあこれを適当な tekitou.php にコピペして、あなたも私も今から PHPUnitter !!! ででーん MicroPHPUnit.php gist.github.com 厨二ネームですんません。 PHP 5.3~5.6で動作。それ以外は知りません。 特に工夫もなく見ればわかるレベルのコード量だが、 assertSame() fail() アサートはこれらしか実装してない。 まーこの2つさえあれば、エセPHPUnit書くには十分だろう。(慢心) 簡単な使い方については冒頭に記載。 PHPUnit

    どこでもPHPUnit - 戦えプログラマン
  • 『例えば、PHPを避ける』以降PHPはどれだけ安全になったか

    2. アジェンダ • 例えば、PHPを避ける • htmlspecialchars 文字エンコーディングチェックの改善 • register_globalsが非推奨に • マジッククォートが非推奨に • 暗号学的に安全な擬似乱数生成器のサポート • セッションID生成の安全性強化 • ヌルバイト攻撃の防御機能の追加 • PDOのDB接続時の文字エンコーディング指定が可能に • header関数のバグ修正 • 安全なパスワード保存が簡単にできるようになった Copyright © 2016 Hiroshi Tokumaru 2 3. 徳丸浩の自己紹介 • 経歴 – 1985年 京セラ株式会社入社 – 1995年 京セラコミュニケーションシステム株式会社(KCCS)に出向・転籍 – 2008年 KCCS退職、HASHコンサルティング株式会社設立 • 経験したこと – 京セラ入社当時はCAD、計

    『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
  • PHPの生みの親、ラスマス・ラードフ氏インタビュー | gihyo.jp

    PHPの生みの親⁠⁠、ラスマス⁠⁠・ラードフ氏インタビュー 2015年12月に無事公開されたPHP7。その公開に先立ってPHPの生みの親であるラスマス・ラードフ氏に話を伺う機会がありました。英語で行われた一時間のインタビューは長大ですがラスマス氏の思想がよく分かる話題が多く、可能な限りそのままの形でお伝えすべく、その模様すべてをお届けします。 なお、インタビューは10月に開催されたPHPカンファレンス2015の講演終了後に行われ、リリースに関する話題などはその時点でのものです。 現在の仕事と生い立ち ―――― まずは、PHPを作ってくださってありがとうございます。今日の基調講演もすばらしかったです。 ラスマス:ありがとうございます。 ―――― いきなりですが、個人的な質問から始めてもいいでしょうか。 ラスマス:どうぞ。 ―――― Etsyではどのようなお仕事をなさっているんですか? ラスマ

    PHPの生みの親、ラスマス・ラードフ氏インタビュー | gihyo.jp
  • DIS例2 / PHPは配列型と辞書(HaspMap)型が区別不能な言語! | PHPを使いもせずDISってる君達へ - Qiita

    PHPはよくDISられることがあります。しかし、実際にはほとんどPHPを利用していない人が印象だけでDISってることが多いような気がします。 そこで、PHPがよくDISられている点について、実際どうなのかをPHP未体験者向けに解説していきたいと思います。PHPを触ったことない人でもわかりやすいようにシンプル目な仕様のRubyを例に説明していきたいと思います!( Ruby触ったことなくても、その他のOOP言語を触ったことあれば雰囲気は理解できるように書いています ) DIS例1 / PHPは配列操作がしづらい PHPの配列操作は扱いづらい等とDISる人たちがいます。実際のところどうでしょうか。 以下のような処理を配列への中間変数を用いず行うコードを例に考えてみます。 0. [2,4,6,8,10]という配列を用意して 1. ↑の配列から8以下の数だけを選択した配列を作る 2. ↑の配列から各

    DIS例2 / PHPは配列型と辞書(HaspMap)型が区別不能な言語! | PHPを使いもせずDISってる君達へ - Qiita
  • まだPHPの配列の仕様をよく理解されていない方へ — A Day in Serenity (Reloaded) — PHP, CodeIgniter, FuelPHP, Linux or something

    PHPを使いもせずDISってる君達へ - Qiita」という記事がありました。 概ね正確な内容ですが、まだ根的にPHPの配列の仕様がわかっていないような記述が一部に見受けられました。端的なものが以下です。 今まで話したようにPHPには配列型と辞書型は曖昧なものです。 およそプログラミング言語の実装において型が曖昧ということはありえません。内部的には型は厳密です。でなければ実装できません。 ただし、自動的に型が変わることがあり、ユーザの理解が曖昧だと、言語の仕様も曖昧に感じるということです。 ということで、PHPの配列についてよく理解していないPHPユーザもまだいるでしょうから、仕様について少し記事を書くことにします。 PHPの配列とは? PHPの配列について知っておくべきことは以下ではないかと思います。 PHPの配列はarray型の1つしかない PHPの配列は順番を保持している 配列の

    hatecafe
    hatecafe 2015/12/22
  • PHP 7正式版は、大きな問題がなければ来週12月3日登場予定。PHP 7RC8が公開

    もうすぐ正式版が登場予定のPHP最新版「PHP 7」のリリース候補版「PHP 7.0.0 RC 8」がリリースされました。PHP 7 RC 8は、13番目のPHP 7正式版前リリース。 PHP 7 RC 8の登場と同時に、PHP 7正式版のリリースについて次のようにアナウンスされました。 If no major issues appear, the 7.0.0 general availability (GA) release will be brought out on December 3rd. もしも大きな問題がなければ、7.0.0正式版リリースは12月3日になる。 今回のPHP 7 RC 8のリリースが11月26日付ですので、そこから1週間なにも大きな問題が報告されなければ正式版が登場する、ということになります。PHP 7 RC 8がほぼそのまま正式版になるのではないでしょうか。

    PHP 7正式版は、大きな問題がなければ来週12月3日登場予定。PHP 7RC8が公開
    hatecafe
    hatecafe 2015/11/27
  • いまどきのPHP開発現場 -2015年秋-

    YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情

    いまどきのPHP開発現場 -2015年秋-
  • PHP5.6からPHP7にアップグレードして実際にはまった点9個 · DQNEO日記

    仕事で使っているPHPアプリケーションをPHP7 beta1で動かしてみたらそのままでは動きませんでした。 私が実際にはまった点を紹介します。 なお、PHP7の変更点についてはhnwさんの記事に詳しく網羅されているのでご一読ください。 PHP7で変わること - hnwの日記 Apacheのモジュール名が変わっていた ApacheにPHPを組み込むためのモジュール(俗にいうmod_php)のモジュール名・ファイル名が変更になっていました。 LoadModule php5_module modules/libphp5.so ↓ LoadModule php7_module modules/libphp7.so memcache extensionがインストールできない PHPからMemcachedを使うためのExtensionには2つあります。 memcache memcached memca

    PHP5.6からPHP7にアップグレードして実際にはまった点9個 · DQNEO日記
  • PHPのunserialize関数に外部由来の値を処理させると脆弱性の原因になる

    既にいくつかの記事で指摘がありますが、PHPのunserialize関数に外部由来の値を処理させると脆弱性の原因になります。 しかし、ブログ記事等を見ていると、外部由来の値をunserialize関数に処理させているケースが多くあります。 ユースケースの一例としては、「複数の値をクッキーにセットする方法」として用いる場合です。 PHP クッキーに複数の値を一括登録する方法という記事では、以下の方法で複数の値をクッキーにセットしています。 $status = array( "height" => 167, "weight" => 50, "sight" => 1.2 ); setcookie("status", serialize($status)); クッキーの受け取り側は以下のコードです。 print_r(unserialize($_COOKIE['status'])); 出力結果は以下

  • PHPマイクロフレームワーク「Slim」を使ってみた

    1度使うと2度とそれ無しの生活に戻れない、それがフレームワーク。 PHPで代表的なフレームワークと言えば、「Zend Framework」とか「Symfony」とか「CakePHP」とか「FuelPHP」とか。最近だと「Laravel」というフレームワークが人気のようです。 2014年 Webアプリケーションフレームワークトレンド(PHP / Java / Ruby / Python / Perl) – Qiita これらはサービスを提供するのに必要な機能がすべて揃っている、いわゆる「フルスタック」というやつで、それさえ入れればすべて解決する(自分で何かを開発する必要は無い)一方で、インストールするにはある程度の知識と権限が必要。また少しツールを作りたいとか、小さいサービスを作りたいだけとか言った場合には、使わない機能が多すぎて逆にコストが高くなってしまいます。 で、最近流行ってるのは機能

    PHPマイクロフレームワーク「Slim」を使ってみた
  • PHPカンファレンス関西2015 スライドまとめ - sprawl

    PHPカンファレンス関西2015に行ってきました。 今回から場所が変わったり、初の有料化だったりとスタッフの皆さんは色々と大変だったかと思います。当にありがとうございました。 今回はセッションのトラックが5で、内容的にも初心者用から濃いものまで充実しており、非常に満足できました。 見られなかったけど気になるセッションが数多くありましたので、ネットで公開されているセッションのスライドをまとめてみました。 とりあえず見つけられたものを掲載させて頂いておりますが、これからアップされるもの等もあるかと思いますので、また見つけ次第更新させて頂きます。 セッションのスライド 基調講演『PHP7で変わること 言語仕様とエンジンの改善ポイント』 PHP7で変わること ——言語仕様とエンジンの改善ポイント from Yoshio Hanawa www.slideshare.net 『ビッグウェーブ到来!

    PHPカンファレンス関西2015 スライドまとめ - sprawl
  • PHP7で変わること ——言語仕様とエンジンの改善ポイント

    1. What’s new in PHP7 PHP7で変わること ̶̶言語仕様とエンジンの改善ポイント hnw PHPカンファレンス関西2015 (2015/5/30)発表資料

    PHP7で変わること ——言語仕様とエンジンの改善ポイント
  • Apacheの多重拡張子にご用心

    先日の日記『「10日でおぼえるPHP入門教室 第4版」はセキュリティ面で高評価』では、同書のアップロード機能のセキュリティ面を評価しつつ、「もうひと踏ん張り確認して欲しい内容がある」として、画像XSSの可能性について指摘しました。では、これを直せば完璧かというと、実はそうとも言えないという微妙な問題があります。それは、アップロード先の場所とファイル名の問題です。 ファイルをアップロードするディレクトリ: ドキュメントルート下の /php10/doc/ ファイル名: ブラウザから送信されたファイル名そのまま これらのうちファイル名の拡張子については、gif/jpg/jpeg/pngのみを許すという、いわゆるホワイトリスト検査がされていて、またgetimagesize()関数により、画像ファイルであることの簡易的なチェックをしています。しかし、この状態では、環境によってはアップロードしたファイ

    Apacheの多重拡張子にご用心
  • 「10日でおぼえるPHP入門教室 第4版」はセキュリティ面で高評価

    弊社社の麻布十番移転に伴い、社近くの麻布図書館を利用しています。麻布図書館は土地柄のイメージにあう瀟洒な建物で、蔵書がない場合は港区の他の図書館から取り寄せ(無料です)ができますので、よく利用しています。今回は、山田祥寛さんの「10日でおぼえるPHP入門教室 第4版 」を借りて読んでみました。一読して、書がセキュリティにもよく配慮されていることがわかりましたので、以下にご紹介したいと思います。 クロスサイトスクリプティング(XSS) 表示の際にHTMLエスケープするという原則を忠実に守っています。そのため、下記の e() という関数を定義して呼び出しています。 function e($str, $charset = 'UTF-8') { return htmlspecialchars($str, ENT_QUOTES, $charset); } その他にもXSS対策として重要な下記の

  • PHP入門書のSQLインジェクションとXSS対策をあらためて調べてみた

    継続的にPHP入門書のセキュリティ問題を確認していますが、今回は「やさしいPHP 第3版」を取り上げ、今どきのPHP入門書のセキュリティ状況を報告したいと思います。 やさしいPHP やさしいシリーズ 単行 – 2008/2/29 やさしいPHP 第2版 (やさしいシリーズ) 単行 – 2010/8/28 やさしいPHP 第3版 (「やさしい」シリーズ) 大型 – 2014/9/26 上記のように、2008年に初版が出版された後2回の改版がありました。 第2版ではクロスサイトスクリプティング(XSS)の説明が追加され、第3版ではXSSに加えSQLインジェクションの説明が追加されました。つまり、初版ではこれらの説明はなかったということです。 第3版におけるSQLインジェクションの対策方法はプレースホルダによるもので、結果として書にSQLインジェクション脆弱性は見当たりません(パチパチパ

    PHP入門書のSQLインジェクションとXSS対策をあらためて調べてみた
  • PHP 7のパフォーマンスが高い理由

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    PHP 7のパフォーマンスが高い理由
  • PHP7の現状

    (Last Updated On: 2018年8月13日)PHP7が今年の秋リリースされる予定です。まだまだ多くの変更が行われる予定ですが、現状を簡単にまとめてみたいと思います。代表的な物のみ取り上げています。 ご存知ない方の為に書いておきます。現在リリースされているPHPPHP5です。次のPHPPHP7になり、PHP6はリリースされません。PHP6をUnicodeをネイティブ文字列としてサポートするバージョンとして開発されましたが、文字エンコーディングチェックを内部で自動的に行おうとするなど、無駄が多く遅いため破棄されました。(文字エンコーディングのバリデーションは来アプリでするものです)このため、PHP6はスキップされ次のPHPPHP7になります。 追記:PHP7.0は既にリリースされています。概要はPHP 7.0の概要・新機能・互換性、詳しくはマイグレーションドキュメントをご

    PHP7の現状
  • PHPの脆弱性への攻撃名称と対策メモ - Qiita

    自分用メモ。ごちゃごちゃすると忘れるので、なるべくシンプルにまとめたい。 誤り、不備などあれば、随時追加修正します(ご指摘ありがとうございます)。 クロスサイトスクリプティング(cross site scripting、XSS) 概要 訪問者に目的のサイトとは別の罠サイトを踏ませて不正な処理を実行させる行為。 原因 フォームから受け取った値を、エスケープせずに画面に出力するために発生 (偽のフォームを作成する手法も有るので、JavaScriptの対策だけでは不足) HTMLの実体参照を用い、& を &amp; に、< を &lt; に、> を &gt; に、" を &quot; に、それぞれ置換する。 PHPではhtmlspecialchars関数を用いれば、一括で対策できる (ただしENT_QUOTESを設定しないとシングルクォーテーションはエスケープされない)

    PHPの脆弱性への攻撃名称と対策メモ - Qiita