第42回PostgreSQL 9.0に見るSQLインジェクション対策 大垣靖男 2011-05-19
![連載:なぜPHPアプリにセキュリティホールが多いのか?|gihyo.jp](https://cdn-ak-scissors.b.st-hatena.com/image/square/7241c583676d54fc052c4388a6edd25e4c7f280b/height=288;version=1;width=512/https%3A%2F%2Fgihyo.jp%2Fassets%2Fimages%2Fgihyojp-ogp.png)
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog オークション事業部 開発部のやまけんです。 遅ればせながら、新年明けましておめでとうございます。 さて、オークションTechBlogも第4回目となりました。 今回はWebAPIとしての一つの形態であるPHP Serializeに関してお話します。 WebAPIは、一般的にはRESTと呼ばれるXMLを主体としたレスポンスを返却し、呼び側がXMLを解析するというものが主流となっています。 (RESTには、RESTfulと呼ばれる概念がありますが、それはまた別の機会にお話したいと思います) さて、PHP Serializeですが、これはPHP言語で表現されるデータやクラスをサーバー側で文字列化して、呼び側でデータやクラスに復元するという
Web APIやDBのデータ取得などで処理に時間が掛かる場合、取得したデータを一定期間キャッシュしておいて、それを利用したいと思うときがあります。 しかし、PEAR::Cache_LiteやZend_Cacheなどのライブラリを持ち出すのは大げさな気がします。 そこで、40行ほどの短いコードで、データをキャッシュする超シンプルなクラスを作成しました。 使い方はPEAR::Cache_Liteとほとんど同じです。 ソースコードXMLデータをキャッシュするサンプルプログラムです。 Cache.php <?php class Cache { // キャッシュ生存期間 private $_lifeTime; // コンストラクタ public function __construct($lifeTime = LIFE_TIME) { $this->_lifeTime = $lifeTime; }
phpのserializeを使うより高速でサイズもコンパクトに仕上げる「MessagePack」とPHP拡張 2010年12月15日- The MessagePack Project phpのserializeを使うより高速でサイズもコンパクトに仕上げる「MessagePack」とPHP拡張。 結構前のエントリのご紹介なので知っている人も多いと思うのですがご紹介。 phpには serialize という関数があって、配列等の複雑なデータも文字列にして、ファイル等に保存し、後ほど unserialize 等で変数に戻せて便利なのですが、MessagePackとそのPHP拡張を使えば、より高速で、serialize後のデータも小さくできます。 MessagePack自体はkumofsの内部で使われていて、PHP以外にもc++, erlang, haskell, java, perl, pyth
パラメータ value シリアル化する値。 serialize() は、resource および一部の object 以外のすべての型を処理します。(下記の注を参照ください) 自分自身への参照を含む配列を serialize() することも可能です。 シリアル化した配列/オブジェクト内の 循環参照も保存されます。その他の参照は失われます。 PHP は、シリアル化の前にまずメンバ関数 __serialize() または __sleep() のコールを試みます。ここで、シリアル化の前のオブジェクトの後始末処理 などを行います。同様に、unserialize() で オブジェクトを復元した際にはメンバ関数 __unserialize() または __wakeup() がコールされます。 注意: オブジェクトの private メンバは、メンバ名の前にクラス名がつきます。 また protected
明示的 意味 แพลตฟอร์มการเรียนรู้และพัฒนาทักษะด้วยเทคโนโลยี https://suin.io เป็นแพลตฟอร์มที่ให้คุณเรียนรู้และพัฒนาทักษะทางเทคโนโลยีอย่างสะดวกสบาย เรามุ่งมั่นในการให้ความรู้และประสบการณ์ที่มีคุณค่าในการพัฒนาตนเอง pascalcase
シリアライズとは、ソフトウェア内部で扱っているデータをそのまま、保存したり送受信することができるように変換することです。 データベースに配列データをそのまま保存したい時などに使います。 通常、データベースには「フィールド:値」という形式で保存される為、配列データをそのまま保存することはできません。 仮に「array(‘a’, ‘b’, ‘c’)」という値を保存したとしても、それはただの 文字列 にすぎません。 一方、シリアライズすると、配列データを配列データとして保存することができます。 特に、配列の要素数や構造が動的に変化するデータを取り扱う場合には、必ずと言っていいほど使うでしょう。 では、シリアライズによって、データがどのように変換されるかを見ていきます。 まずはPHPのシリアライズから。 PHP – serialize() シリアライズ シリアライズ後の文字列は「型:値」の形式に変
Edenは外部のソーシャル系サービスとの連携を素早く実装するためのPHP用フレームワークです。 FacebookとTwitterとFoursquare、これらを組み合わせたマッシュアップサイトを作るなんてのは良くあることです。そこで同じようなことをやるのであれば専用のフレームワークを使ってみましょう。それがEdenです。 参考例。 FacebookやTwitterの情報を載せています。これはありがち。 こんな感じのPinterestっぽい例。ソーシャルのカウント数を表示しています。これもよくありますね。 カート機能付き。 サイドからウィジェット。 様々なソーシャルサイトから情報を収集してくるタイプのサービス。ありがちです。 Edenは手早くプロトタイプを作成するためのフレームワークで、Googleの各種サービス(カレンダー、チェックアウト、Analytics、Drive、YouTubeなど
WordPressの便利な機能の1つ、子テーマ。ベースとなるテーマを制作して親テーマとし、その親テーマのテンプレートを継承して子テーマを制作できる機能です。子テーマ機能を使用することにより、例えば、下記のようなメリットが。 制作会社の方で複数サイトをWordPressで構築している場合、それぞれのテーマを共通の親テーマの子テーマとして制作しておけば、テーマのバージョンアップが簡単に。 個人でWordPressでサイトをお持ちの方で、複数のテーマをよく切り替えたりする場合、共通の親テーマをもとに各テーマを制作しておけば、機能を追加したい時に、いちいち各テーマにコードをつかしなくても良い ただ、そんな便利な子テーマなのですが、一つだけ気になることが…。 子テーマ機能の使いづらい点 上記でテーマの機能追加に着目して子テーマのメリットを上げましたが、だいたいそのような場合ってfunctions.p
Mac OS X のテキストエディタ mi のツール機能を使って Markdown を HTML に変換する方法がわかったのでメモ。 ちなみに、私の環境は Mac OS 10.5.2 + PHP 5.2.4 です。 ## PHP Markdown Extra を使ってテキストファイル全体を HTML に変換する dl や table に対応している PHP Markdown Extra を使ってみます。 ### 1. PHP Markdown Extra を準備する 1. [PHP Markdown Extra 1.1.7](http://michelf.com/projects/php-markdown/) をダウンロードして解凍。 2. 解凍した markdown.php をアプリケーションフォルダの中に移動。 ### 2. 中継 ( ラッパー? ) プログラムの作成 PHP Mark
さて夏がやってきました。夏と言えばPHPということで、昨年に引き続き、最近のPHP事情をご紹介。 1. PHP5.4リリース PHP5.4が2012年3月にリリースされました。 Traits や Short array syntax(配列の短縮構文)、array dereferencing(foo()[0]) などのPHP言語拡張、PHPコマンドで起動するビルトインサーバ、そしてパフォーマンスの改善など大きな変更が加えられています。 言語自体の機能追加も注目ですが、ビルトインサーバは多くの人にとってメリットになるでしょう。これを使えばPHPアプリケーションの動作確認のためにApacheやnginxなどのhttpdサーバを自分のPCに入れる必要はありません。 下記のようなコマンドを打つだけで、ビルトインサーバが起動します。新しいフレームワークやライブラリ、アプリケーションを試してみたい時に手
PHP Mobile Detect - lightweight PHP class for detecting mobile devices スマホ・タブレットの判別ができるPHPクラスライブラリ「PHP Mobile Detect」。 判別ならば文字列マッチングでもよいという人もいると思いますが、グローバル変数や無駄なマッチングを省くためにこうしたクラスライブラリを活用するのもよいかもしれません。 次のようにコードがシンプルですっきりと読みやすくなります。iPhoneやiPod touch、Android等をマッチングさせるコードは美しくないですね。 どのぐらいメンテナンスされるのかという点がきになったりしますが、そこまでルールが極端に変わることもなさそうですね。 関連エントリ スマホを判別するのに便利なJSスニペット Retinaディスプレイ判別で自動で高解像度画像を出しわけ可能な単独
Because code and documentation are meant to be together. phpDocumentor is the de-facto documentation application for PHP projects. Your project can benefit too from more than 20 years of experience and setting the standard for documenting PHP Applications. Documentation FeaturesWhat can phpDocumentor 3 do to help you with your documentation Super easy to install and use Thanks to the power of Dock
PHP Image Workshop is an open source class using GD library that helps you to manage images with PHP. This class is thought like photo editing software (Photoshop, GIMP...): you can superimpose many layers or even layer groups, each layer having a background image. It makes the class the most flexible ever ! It is thought to do simple tasks like creating thumbnails or pasting watermarks and also t
伝統的な PHP の日付・時間関数を整理する この資料では PHP の日付、時間に関する関数を整理します。 ただし、DateTime、DateTimeZone、DateInterval などの比較的新しいクラス群も扱っていませんし、 完全な資料を目指しているわけでもありませんので・・・(汗)、 詳細については PHP のマニュアルをご覧ください。 と、前置きをした上で・・・ 伝統的な PHP の日付・時間関数を整理すると、次のようにまとめられます。 (というか、この資料のポイントはこれだけです) 橙色で示している箇所はデータ表現です。 これには三種類あります。 タイム・パーツ -- 年、月、日、時間の各部分からなる配列 エポック・タイムスタンプ -- 1970年1月1日を基点とした経過秒 フォーマット済み文字列 -- 日付を表す文字列 これらの時間、日付の表現形式をどのように PHP の関
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く