You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
PHP 5.5 でパスワードハッシュ関数が導入されるPHP: パスワードハッシュライブラリのコードスニペットPHP: PBKDF2 を使ってパスワードハッシュを生成するPHP: 疑似乱数の文字列を生成するPHP: openssl_random_pseudo_bytes で疑似乱数を生成するPHP: openssl_random_pseudo_bytes と mcrypt_create_iv の比較PHP: フォームに CSRF 対策のトークンを導入するPHP: フォームに CSRF 対策のトークンを導入する (その2)JavaScript: CSRF 対策のトークンヘッダーを送信する ランダムな文字列を生成するにはファイル関数を使って /dev/urandom に直接アクセスするやりかたがもっとも明快であり、OS のしくみを学ぶ機会を提供するので、教育的でもある。徳丸本でもそのやりかたが採
Twitterで PHPで、いわゆる安全な秘密鍵を生成する方法っていうのがネットにほとんど記述されてないという事実に愕然としている。みんな、暗号乱数ぐらい勉強してくれ・・・。— Takashi Kawasaki (@espresso3389) April 12, 2014 なんて発言をしたら結構反響があったので、責任を取って、これならまぁ許せるというサンプルを出しておく。エントロピーの無駄遣いなどというぐらいの理解がある人は自分で実装してください。マジ実装すると結構面倒なので諦めました。 コピペするならここからどうぞ <?php // パスワードに使っても良い文字集合 $password_chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; $password_chars_count = strl
日本でまだ誰も紹介していないようなので、今日は新しいPHPフレームワーク「Aura v2 -- Aura.Web_Project」を紹介します。 Lighter than Silex, and slimmer than Slim, the Aura.Web_Project package is a minimalist web-specific project framework that starts out small and grows only as you need it. http://auraphp.com/blog/2013/12/12/aura-v2-web-project/ 参考訳:Silexより軽く、Slimよりスリム、Aura.Web_Projectパッケージは、あなたが必要とする小さく始めて成長する、ミニマリストのWebに特化したプロジェクトのフレームワークです。
PHPは5.3から名前空間が導入され、名前の衝突を避けるため長いクラス名をつけることから解放されました。しかしながら、名前空間を使ったコードは、名前空間を使っていないものに比べて本当に読みやすくなっているのでしょうか? ここで例を挙げます。PHPの良質なソースコードと言えば、私はZend Framework(ZF)やSymfonyを思い浮かべるのですが、ZFのとあるクラスの冒頭を見てみましょう。 https://github.com/zendframework/zf2/blob/master/library/Zend/Mvc/View/Console/RouteNotFoundStrategy.php <?php /** * Zend Framework (http://framework.zend.com/) * * @link http://github.com/zendframewo
このエントリはPHP Advent Calendar 2013 - Qiita [キータ]の1日目です。 PHPの開発に幅広く利用されるようになったVagrantですが、公開されているVagrantfileがGitHub上だけでも300件以上と色々とあるのでまとめておこうと思います。 Search · Vagrant php yandod/php5-nginx-vagrant-sample こちらは手前味噌ですが、自分が使っているVagrantfileです。素のPHPやPHPUnit、各種フレームワークの動作検証に使うためにPHP5.5とNginxを構築しています。 またデータベースとしてMySQLとPostgreSQLを両方セットアップしてあり、ImageMagickも入っているあたりも特徴かと思います。 10up/varying-vagrant-vagrants 通称、「VVV」と呼
所要期間 着手しはじめたのが2010年12月ごろ、完了したのが2013年9月だったので何と3年近くかかったことになります。 長引いた原因は、日々の機能追加や運用をしながら孤独に片手間で細々とやってたからです。(単純に人手不足とも言う) また、PHPバージョンアップと同時にCentOSサーバを5から6にあげることにしたのでサーバ再構築のための工数も含まれています。 後半は仕事仲間が増えてその人が専業でバージョンアップ作業をやってくれたのでだいぶ楽できました。 それと専任のテスターさんたちにも参加していただいたので本番で大きなトラブルなく完了することができました。 感謝感謝です。 サーバ入れ替え作業が終わってPHP5.1の入った古いサーバを削除したときの、まさに「技術的負債」を返済し終わった瞬間の、あのスッキリ感、もう言葉にはできません。 終わってみてこの件に関するRedmineのチケットを数
6. JSON Schema • JSONの構造をバリデーションするための仕様 • http://json-schema.org/ • http://json-schema.org/latest/json-schemacore.html 9. JSON Schema { integer “id”: 12345, “name”: “Hiraku NAKANO”, “tags”: [“PHP”,”JavaScript”] } id, name, tags という プロパティを持った オブジェクト { string string[] “type”:”object”, “properties”: { “id”: {“type”:”integer”}, “name”: {“type”:”string”}, “tags”: { “type”:”array”, “items”:{“type”:”stri
ようこそ 時代遅れの情報がウェブ上にあふれている。そんな情報を見たPHP初心者は戸惑ってしまうだろう。そして、まずい手法やまずいコードが広まってしまう。 そんなのはもうやめよう。PHP: The Right Way は気軽に読めるクイックリファレンスだ。PHPの一般的なコーディング規約、 ウェブ上のよくできたチュートリアルへのリンク、そして現時点でのベストプラクティスだと執筆者が考えていることをまとめた。 大事なのは、 PHPを使うための正式なお作法など存在しない ってこと。 このサイトの狙いは、はじめて PHP を使うことになった開発者に、いろんなトピックを紹介すること。 経験豊富なプロの人にとっても、これまで深く考えることなく使ってきた内容について、新鮮な見方を伝えられるだろう。 このサイトは、決して「どのツールを使えばいいのか」を教えるものじゃない。 いくつかの選択肢を示して、それぞ
久しぶりにPHPのエクステンションで書かれた超高速フレームワークPhalconを見たら 公式ページが見やすくなってた バージョンが1.0.0になってた annotationリーダーのライブラリができてた(そしてPhlconで使える) Microというクラスがあり、マイクロフレームワーク風に書けるようになってた と、相変わらず斜め上まっしぐらな感じがします。 マイクロフレームワークはルーティングだけ欲しいのなら選択肢としてありなきがします。 Phalconのことだからオーバーヘッドも少ないでしょうし。 というわけでGWで遊んでみたい人のためのやってみよう記事。 Phalconをインストール たぶん一番難しいのはここだけ。 インストール方法: http://phalconphp.com/download 自分はmacのローカルに入れたので、以下のコマンドをぽちぽちたたいた。 $ git clo
Working with hugedomains.com was a quick and easy process. We got to speak to multiple real people located in Colorado without having to wait on hold! Our only complaint was we felt we had to overpay more than this particular domain was worth, and we weren't able to negotiate it down to a level that we felt was fair. However, payment and delivery were seamless, and within a few hours we had all of
Welcome to the best online PHP shell3v4l.org (leetspeak for eval) is an online shell that allows you to run your code on my server. I compiled more than 250 different PHP versions (every version released since 4.3.0) for you to run online. For every script you submit, this site tells you: Output from all released, plus upcoming alpha/beta/RC PHP versionsPerformance (time and memory) of every versi
PHPのextensionにはPHP extensionとZend extensionという2種類があります。これらの違いが何なのか、PHPの実装レベルから調べてみました。 PHPのextensionについて PHPのextensionには2種類が存在します。これらは次のようにphp.iniでロード指定する構文が異なります。 extension=extension.so zend_extension=/path/to/extension.so 本稿では「extension=」でロードされるものをPHP extension、「zend_extension=」でロードされるものをZend extensionと呼びます。これらはPHPのソースコード中ではそれぞれmoduleとextensionと呼ばれているので注意してください。 代表的なZend extensionとしてはXdebugとZend
はじめに 本連載では、PHPでPDFを作成するエクステンションであるHaruについて紹介しています。今回は画像の表示方法、帳票出力時に設定が好ましいプロパティとセキュリティ設定の方法、そして前回紹介した方法も含めて、簡単な帳票出力を通してより実践的な使い方を紹介します。 対象読者 PHPの基本構文を理解している方で、帳票印刷やPDFファイルに興味がある方を対象としています。 必要な環境 この記事では、以下のライブラリを使用しています。 libharu 2.1 haru 1.0.4 また、PHP 5.4を使用し、Linuxで動作の確認を行っております。各項目のインストール方法は、前回を参照してください。 画像を表示する 画像を読み出すメソッドは、以下の3つのメソッドを使ってHaruImageオブジェクトを作成します。従って、それ以外のフォーマットの場合には、一度これらのフォーマットにGDライ
PHP 5.5.0 リリースおめでとうございます。 タイミング的に PHP 5.5 の話だと読み間違えた方 (もしくは「こいつ間違って PHP 5.3 って書いてやがるプギャー」と思った方) におかれましては、このテキーラはサービスだから、まず飲んで落ち着いてほしい。 はい。ということで、驚くべきことに、いまから、真顔で、 PHP 5.3 の変更点の話をします。でも PHP 5.5 が出るにあたってコードを見直す方もいるでしょうし、なんというかついでに気に掛けていただければと。 何の話か PHP 5.3 の「下位互換性のない変更点」として、マニュアルに以下のように示されている件についての話です。 引数を解釈する内部API が、PHP 5.3.x に同梱されている全ての拡張機能に 適用されるようになりました。つまり、互換性のないパラメーターが渡された場合、 この引数を解釈するAPIは NUL
こんにちは、久保田です。 皆さん正規表現は使っていますか? PHPに限らずどんな言語を使っていても、正規表現にお世話になっていないプログラマはいないと思います。しかし、その正規表現がどのように実装されているかについては知らない方が多いのではないのでしょうか。 この記事では、その正規表現エンジンの実装方法の一つである仮想マシンによる正規表現エンジンの実装方法を解説しつつ実際に簡単な正規表現エンジンを作っていきたいと思います。 正規表現エンジンの実装方法 正規表現エンジンの実装方法はいくつかあるのですが、それの一つに仮想マシンによって正規表現のマッチング処理を実行するやり方があります。PHPで利用している正規表現エンジンであるPCREはこの方式を採用しています。 仮想マシンによる実装方法は、正規表現というよりもプログラミング言語の実装方法の一つとして知られています。Rubyの最もメジャーな実装
User_Centric_Tests Codeception provides high-level domain language for tests. Tests are represented as a set of user's actions. Learn More Browser_Testing Tests can be executed using Firefox, Chrome, Safari or Cloud Testing services with Selenium WebDriver. Browser can be emulated with HTTP-requests through CURL with PhpBrowser. Learn More Framework_Testing Tests can be executed inside a PHP frame
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く