第 103 回 PHP 勉強会での発表資料です。表題のツールの組み合わせにより、複数の PHP を簡単に切り替えて使う方法を説明しました。また、phpenv には複数の実装があり、初心者にはやや複雑な状況になっています。後半のスライドで、その点についても説明しています。Read less
![anyenv + phpenv + php-build が便利すぎる件](https://cdn-ak-scissors.b.st-hatena.com/image/square/2362b417469ee1da637b9c615f7e40d454b964f9/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fintroductiontophpenv-160629030026-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
プログラムを書いていると、入力値が辞書に含まれているかを調べたいようなことがあります。たとえば、ユーザーに都道府県名を入力させて、それが正しい都道府県名であるかどうかを調べたい、というようなことがあるかもしれません。 このような内容をPHPで書く際、キーに都道府県名を持つような連想配列を作る習慣がある人は多いはずです。これは典型的な連想配列の使い方といえるでしょう。 <?php $prefs = array( "北海道" => true, "青森" => true, // ... "沖縄" => true, ); if (isset($prefs[$input])) { // 都道府県名が正しい時の処理 } 一方で、in_array関数を使うやり方も考えられます。 <?php $prefs = array( "北海道", "青森", // ... "沖縄", ); if (in_array
At Tumblr, we’re always looking for new ways to improve the performance of the site. This means things like adding caching to heavily used codepaths, testing out new CDN configurations, or upgrading underlying software. Recently, in a cross-team effort, we upgraded our full web server fleet from PHP 5 to PHP 7. The whole upgrade was a fun project with some very cool results, so we wanted to share
Welcome There’s a lot of outdated information on the Web that leads new PHP users astray, propagating bad practices and insecure code. PHP: The Right Way is an easy-to-read, quick reference for PHP popular coding standards, links to authoritative tutorials around the Web, and what the contributors consider to be best practices at present. There is no canonical way to use PHP. This website aims to
PHP 7.2: The First Programming Language to Add Modern Cryptography to its Standard Library
phpの拡張として、魅了的な要素がたくさん詰まったHHVM/Hack 挿入を始めるにあたって、壁にぶち当たるのがphpstormなどの様な高機能なIDEがない、 などがあげられるかもしれません IDEに代表される様な補完機能がなかなか効かないだったり、 typecheckerで既存のライブラリが動かない、なんてこともあるのかもしれません。 hhvm-autoload github.com HHVMでcomposerを最適化するプラグインとして動作するライブラリです hhi Hackで開発する場合、厳格な型指定はメリットであり、 アプリケーション開発時にはstrict指定をすることがほとんどだと思います。 <?hh // strict // 厳格モード ちなみにdeclにするとtype checkされません <?hh // decl *何も指定しない場合はパーシャルモードである程度はtype
エグゼクティブサマリ WordPress 4.7と4.7.1のREST APIに、認証を回避してコンテンツを書き換えられる脆弱性が存在する。攻撃は極めて容易で、その影響は任意コンテンツの書き換えであるため、重大な結果を及ぼす。対策はWordPressの最新版にバージョンアップすることである。 本稿では、脆弱性混入の原因について報告する。 はじめに WordPress本体に久しぶりに重大な脆弱性が見つかったと発表されました。 こんな風に書くと、WordPressの脆弱性なんてしょっちゅう見つかっているという意見もありそうですが、能動的かつ認証なしに、侵入できる脆弱性はここ数年出ていないように思います。そういうクラスのものが久しぶりに見つかったということですね。 WordPress、更新版で深刻な脆弱性を修正 安全確保のため情報公開を先送り Make WordPress Core Conten
昨日の記事PHPMailerの脆弱性CVE-2016-10033について解析したにて、PHPMailerの脆弱性CVE-2016-10033の原因はmail関数が内部で呼んでいるescapeshellcmd関数の仕様が原因であると指摘しました。そして、mail関数の危険性については、小邨孝明さんが2013年12月23日の記事にて指摘していました。 mb_send_mail関数(mail関数も同様)ですが、第5引数(additional_parameter)にユーザの入力を使用する場合は注意が必要です。mb_send_mail関数の第5引数は、内部でescapeshellcmd(内部関数名:php_escape_shell_cmd)によって引数の文字列全体がエスケープされます。 escapeshellcmd() は、以前に徳丸さんから OS コマンドインジェクションの防止には不適切であると指
第七回闇PHP勉強会 〜あなたが闇だとおもったらそれは闇です yamiphp.connpass.com に参加してきました! 闇とは 以下転載 闇PHP勉強会について 闇PHP勉強会はPHPの内部構造や拡張モジュールなど、PHPのC言語レイヤの話題が多めの勉強会です。ふつうのPHP勉強会に比べると若干マニアックな集まりだと思います。 この勉強会の名前は「普段は光が当たらない場所に光を当てるPHP勉強会」という意味です。他の闇を期待された方はごめんなさい。 ということです。 ひらたくいえば、PHPといいつつPHPの中身や、CでかかれたPHP拡張などのお話がメインの勉強会です。大変に興味深いお話が多い。 トーク内容について @hnwさん「realpath cacheとOPcacheの面倒すぎる関係」 (20〜30分) d.hatena.ne.jp 最近話題のrealpath_cacheのお話と
再演: 「PHP7で堅牢なコードを書く - 例外処理、表明プログラミング、契約による設計」 + αという勉強会で、「assertぐらいでエバルんじゃねえ!」というふざけたタイトルで発表してきました。 資料はこちら。 PHP7では内部的にASTを作るようになりまして、それをPHP側から使えるようにするphp-astというC拡張があります。これを使って型推論つきの静的解析をするツールがPhanです。 Phanでは未定義変数や型に関する間違いを警告してくれるのですが、そういう明らかなバグの他にも自前のプラグインを作ってエラーをチェックすることができます。 スライドの趣旨としては、assertの話から入るものの、assertのことが主題ではなく、Phanを使ってコードの自動チェックを充実させようという内容です。 Phanプラグインの作り方 Phanプラグインの書き方は一応ドキュメントがあるのですが
こんにちは、今年もピクシブ株式会社 Advent Calendar 2016です。 最近は社内にPhpStormを浸透させようと暗躍*1してますうさみ @tadsanです ヾ(〃><)ノ゙ 今年は.emacs Advent Calendar 2016も書いてます! 2014年はEmacsでpixiv-novel-modeを作ったを書きましたが、今回は私がどうやってEmacsで仕事をするのか、そしてどのようにPHP開発環境を効率化するかについて書きます。 ちなみに昨日はkanaによるpixiv開発を支えるVim (タグジャンプ編)なので、Vimをご利用の型はこちらも読んでみてください。 なんとかStormに負けたくない気持ち 今回の内容の要約は、今年3月にPHPの知見などを共有するLT会・PHP BLT #3で発表したので、長い文章を読むのがだるいひとは見といてください。 SSHとTRAMP
こんにちは、pixivでPHPをやってるうさみです。健全なコードベースは黙っても降ってこないので、チーム全体で開発効率を高めるような改善をするのがお仕事です。 テキストエディタはmicro推しです ヾ(〃><)ノ゙☆ さる11月3日に大田区産業プラザ PiOで開催されたPHPカンファレンス 2016にて大怪獣に蹂躙されながらPhanについて30分のセッション発表をいたしましたので、その内容を紹介します! Phanとは PhanはPHPの静的解析ツールです。開発元はハンドメイドのマーケットサービスを運営し、現在PHP作者のRasmus Lerdorf氏する米Etsy社です。もちろんRasmus Lerdorf氏も開発に参加してます。 Phanは以下のような項目を検出できます。 関数・クラス・定数・変数などがすべて定義済か、アクセスできるか 関数の型と引数の数が合ってるか PHP5とPHP7の
2016/10/31 PHPにおけるシンボリックリンクを使ったデプロイの危険性について(「realpath_cache」和訳) PHP サーバーサイド この文書は@julienPauliさんによる記事「realpath_cache」の日本語翻訳です。元々は@gilbiteさんがKLab社内向けに翻訳したものでしたが、日本語では見たことがない指摘を含んでおり今でも有用だと考えたため、@julienPauliさんの了解を取った上で@hnwが修正・追記して公開するものです。 はじめに PHP に realpath_cache_get(), realpath_cache_size() という関数があることをご存じでしょうか? また、php.ini に realpath_cache から始まる設定項目があることは? realpath cache は知っておきたい極めて重要な概念です。 特に、コードの
この記事の内容は2016年9月現在のものです。 新しい言語を学ぶときに確認することにインスパイヤされて。 Perlを学ぶときに確認すること - Qiita セットアップ方法 バージョンについて 2016年9月現在のPHPの現行安定版は7.0系。学習用途および新しいプロジェクトを開始するときには7系の最新版を利用すること。古い保守版として5.6系があるが、こちらは既存のプロジェクトが7系対応してない場合に選ぶこと。 macOS(OS X) brew tap homebrew/dupes brew tap homebrew/versions brew tap homebrew/homebrew-php # PHP 7.0 (Apache抜き・phpdbg入り) brew install php70 --with-phpdbg --without-apache # よく利用されるモジュール br
PHPカンファレンス関西2016の基調講演です。
こんにちは。エンジニアの @localdisk です。今回はリリースを間近に控えた Laravel 5.3 に関する変更点の中から特にアップグレードする際に注意しなければならないところを取り上げていきます。 このエントリの内容は 2016/08/01 時点での内容です。今回説明した内容は変更される可能性があります。 まずはインストール Laravel 5.3 は PHP 5.6.4 以上 ディレクトリ構造の変更 route ファイルの変更 認証用コントローラの変更 App\Providers\BroadcastServiceProvider Laravel と Vue.js Laravel-Elixir が 5 → 6 へ アップグレード時の注意点 MySQL の strict モードのデフォルト値変更 HHVM のサポート廃止 次回は まずはインストール さて、まずは動かしてみましょう。
HTTP リクエストに任意の値をセットすることで、Web アプリケーションからの HTTP 通信を傍受したり、中間者攻撃(Man-in-the-Middle)を可能にする脆弱性が見つかっています。 専用サイト httpoxyという名前が付けられ、専用サイトが立ち上がっています。詳細は、このサイトが詳しいです。 httpoxy.org 攻撃内容 アプリケーションからHTTP通信を行う際に、環境変数HTTP_PROXYの値を、HTTPプロキシとして見るライブラリがある。 HTTPリクエストにProxyヘッダを付けられると、環境変数HTTP_PROXYにその値がセットされる。(これは、CGIの仕様) つまり、任意のプロキシを外部から指定できてしまうので、通信内容の傍受や偽装ができてしまう。 対象となる PHP アプリケーション HTTP リクエストを受けて動作する PHP アプリケーション アプ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く