Using GnuPG with PHP gnupg というのがpeclにあって、PHPからgnupgが簡単に使えるみたい。 GnuPGは公開鍵暗号ソフトで、文書を暗号・複合化、電子署名の付与などが出来るものです。 元々、PGPという電子メール暗号に使われる方式があって、覚えている方も多いと思いますが、GnuPGはこれに変わるものです。 PHPから電子メールの暗号をしたいというようなニーズがある場合に使えるので覚えておいて損はなさそう。
Upload Files Like Gmail - Client Side Gmail Architecture Part 2 | Web Builder Zone Gmailのクライアントサイトアーキテクチャ Part2が公開されてます。 今回は、Gmailのファイルアップロード機能のサンプルもダウンロードできるみたい。 IFrameをアップローダーのターゲットとしてファイルをアップロードしていくテクニックを使ってます。 PHPファイル2個の簡単なサンプルで公開されているので自作アプリへの組み込みも容易そうです。 Gmailみたいなアップローダーを実装したい、と思った場合には参考にできそう。
PHP では @ を付けることでエラーを回避できるという便利な記述方法があり、ものぐさな私などは if (@$var["foo"]) $result = $var["foo"]; みたいなコードを書いてしまいます。 で、この処理が「遅い」という噂やツッコミを度々受けるので調べてみました。 「ほら、そんな気にするほどでも無いよ」という結果を期待していたのですが、、、なんじゃこりゃ。。。 劇遅じゃないですか、これ。 いやはや・・・ ちょっと列挙しますね。以下のようなコードを単純 for 文で 100万回実行したときの結果です。 error_reporting(0) で PHP4 if (@$a["hoge"]) $b = $a["hoge"]; ⇒ 約 2.4 秒 if ($a["hoge"]) $b = $a["hoge"]; ⇒ 約 1.3 秒 if (isset($a["hoge"]))
PHPで暗号化、ハッシュするガイドライン記事「A Guide to Cryptography in PHP」が公開されています。 ハッシュ関数の、md5, sha1や、暗号化関数のcryptなどがPHPには標準で備わっていますが、ハッシュ・暗号化のライブラリが色々と紹介されていました。 MCrypt - cryptの代替でファイルの暗号化なんかも出来るみたい MHash - SHA、HAVAL、MD4/5、TIGER、CRCなど、多種多様のハッシュアルゴリズムを提供 Crypt_Blowfish - Blowfish暗号 Crypt_RSA - RSA暗号 Crypt_ HMAC - HMACハッシュ Crypt_DiffieHellman - DiffieHellman暗号 PHPで暗号化する際の参考になりそうですね。 追記)HASH関数なんていうものも5.1.2から存在するみたい
車輪の再発明を防ごう! Webアプリケーションに限らず開発に重要な事柄はたくさんありますが、その中の1つに「早くて品質の高いものを作る」というのがあげられるでしょう。では、「早くて品質の高いものを作る」ためにはどうすればいいでしょうか? その解の1つがライブラリの活用です。世の中に普及している言語(PHPはもちろんその1つ)には、自分が欲している機能を持つライブラリが数多く存在します。有用なライブラリは技術力の高いエンジニアによってメンテナンスされていることが多く、そのようなものをうまく活用することで、早くて品質の高い開発を行うことができます。 すでに世の中に存在するものを開発することは「車輪の再発明」と呼ばれます。自分の技術力を向上するために、そのようなライブラリを開発することは積極的に行うべき事柄です。しかし、開発という観点から考えた場合、あまり効率的ではありません。 同じような機能を
【PHP TIPS】 81. ブログパーツを作ってみよう:ITpro ブログペットや地図日記など、ブログ上にスクリプトタグを埋め込むことで別サーバーのコンテンツを表示するモノです。ブログパーツを作ってみよう、という記事が公開されています。 <script type="text/javascript" src="〜.php"></script> としてPHPでブログパーツを作るというもの。 ブログパーツということで、ブラウザのExpiresを使ってキャッシュさせたいですね。 Expiresヘッダについては「Expiresヘッダを追加しよう! : 独断と偏見の何でもレビュー」などが参考になるかも。
Apache/PHP/MySQL/SQLite/SQLiteManage/PhpMyAdmin/Zend OptimizerをWindowsにまとめてオールインワンでインストールすることができるようになっているのがオープンソースで開発されているこの「VertrigoServ」。 これらの各ソフトについて簡単に設定を変更できるコントロールパネルっぽいものがタスクトレイから一発で呼び出せるようになっており、非常に設定が簡単です。また、インストーラは日本語化されているので安心です。 実際のインストール方法などは以下から。 VertrigoServ http://vertrigo.sourceforge.net/ ダウンロードしたら実行します 「OK」をクリック 「次へ」をクリック 「同意する」をクリック 「次へ」をクリック さらに「次へ」をクリック 「インストール」をクリック インストール中……
(Last Updated On: 2014年12月5日)LAMPセキュリティを強化する4つの方法 http://enterprisezine.jp/article/detail/311 書いてある情報は有用な事も記載されていますが、偏狭な視点からの記述により誤解を招く記事になっていると考えられます。著者はセキュリティの専門家ではないようなので仕方ないかも知れませんが、間違った認識は有害です。 # 原本は読んでいません。もしかすると日本語訳にも問題があるのかも知れません。 実行できる最も重要な対策は、PHPを使わないことです。腐った果物を導入する前に、以下に目を通してください。 後にPerl/Ruby/Pythonの方がかなり安全である旨の記述があります。メモリ管理が必要ない同じスクリプティング言語のレベルで「Perl/Ruby/Pythonを使えばセキュアなアプリケーションができる」と考
phpied.com Blog Archive Simultaneuos HTTP requests in PHP with cURL The basic idea of a Web 2.0-style "mashup" is that you consume data from several services, often from different providers and combine them in interesting ways. マッシュアップに必須!PHPで複数APIを同時に叩いて超高速化するサンプル。 通常、PHPでAPIにアクセスする場合、例えば、Yahoo!検索APIとはてなブックマークのRSSを取得してマッシュアップする場合は次の図のようになります。 ただ、この方式だと、Yahoo!検索APIにリクエストし、その結果を待ちます。 そして、そこからはてなブック
趣味でやっている人のことは、まあ、いいとして(踏み台にされる可能性はあるけど)、仕事でPHPを使うときの注意を書いておこう。 コーディング規約を守る。組織にコーディング規約がないなら、Zend Framework PHP標準コーディング規約 [zend.com]を使う。オレ流コーディングスタイルは禁止。 内部コードにはEUC-JPかUTF-8を使う。入出力もできるだけShift JISを避ける。Shift JISを使う場合には2byte目に0x5Cを含む文字の動作を忘れずに確認する。 開発環境の警告レベルをE_STRICTにする。本番環境ではdisplay_errorsをオフにする。 register_globals、magic_quotesはオフにする。 type hintingを積極的に使う。 スコープの長い配列をクラスでラップする。 プレゼンテーションとロジックを分割すること。プレゼ
htmlspecialchars ( ) でセキュリティ対策( ENT_QUOTES もね!) PHPのhtmlspecialcharsにはENT_QUOTESを付ける。 htmlspecialchars でXSS対策をしていたと思ったら、デフォルトでは シングルクオートをエスケープしてくれない(マニュアル参照) htmlspecialchars($str, ENT_QUOTES); ENT_QUOTES を指定することで、シングルクオートも ' にエスケープ出来ます。 ZAPAブロ〜グのZAPAさんの指摘するh関数を定義してフレームワークなどに組み込んでおくのがスマートなのかもしれませんね→htmlspecialchars関数を簡単にする 意外に知られていないかもしれないので、念をのため紹介しておきます。(知っている人はごめんなさい) その危険な例をしめしてみます。 例えば、h
ドットインストール代表のライフハックブログ
連載:なぜPHPアプリにセキュリティホールが多いのか?|gihyo.jp … 技術評論社 なぜPHPアプリにセキュリティホールが多いのか?特集、がいつのまにか充実していますね。 第1回 CVEでみるPHPアプリケーションセキュリティ 第2回 CVEでみるPHPアプリケーションセキュリティ(その2) 第3回 Webアプリは気楽なアプリ?! 第4回 なぜPHP本体にバグが多いのか? 第5回 まだまだ残っているSQLインジェクション 第6回 意外に知られていないブラインドSQLインジェクション 第7回 いまさらながらクロスサイトスクリプティングの基礎の基礎 第8回 クロスサイトスクリプティング対策の落とし穴 第9回 クロスサイトスクリプティングの名称と種類 第10回 スクリプトインジェクションが無くならない10の理由 第11回 スクリプトインジェクションを防ぐ10のTips 参考にさせて頂きまし
PHPで作られた3キャリア対応絵文字変換ライブラリ「MobilePictogramConverter」 Tweet 2007/11/14 水曜日 matsui Posted in PHP, ソフト紹介, 記事紹介・リンク | 7 Comments » 今回は、「MobilePictogramConverter」という、PHPで作られた3キャリア対応の絵文字変換ライブラリをご紹介します。 私が以前作成したKEMPというソフトの中にも、絵文字の変換処理は入っているのですが、絵文字変換機能に特化しているだけあって、こちらの方がかなり多機能です。 ページはこちらです。 → MobilePictogramConverter [php-develop.org] 開発Blogもあります。 → はてなダイアリー PHPとか [hatena.ne.jp] 特に素晴らしいのが、PCでも絵文字が表示できるように
shimookaです。 皆さんはPHPでデータの暗号化・復号をする必要に迫られた場合、どのようにしているでしょうか?今回は、PHPで利用可能なモジュールやパッケージとそれらのサンプルを3つほど挙げてみました。 mcrypt拡張モジュールを使った暗号化 libmcryptを利用したPHP拡張モジュールです。DES、3DES、Blowfish、RIJNDAEL(ラインダール:AES暗号とも呼ばれる)、Blowfishなどのブロック暗号をサポートしています。利用可能な暗号モードはCBC、OFB、CFB、ECBです。 PHPで利用するには、libmcryptをインストールし、configureオプションに「--with-mcrypt」を付ける必要があります。また、PHP5以降、libmcrypt 2.5.6以降が必要です。 以下は、SSHやファイル暗号化ソフトウェアなどに広く利用されているBlow
puRe aka Marcel Oelke Record mouse movement using Javascript and AJAX マウスの軌跡をJavaScriptとPHPで記録し再生するサンプル。 mousemove イベントハンドラの発生ごとに、Ajax で座標をサーバ側に送信し、PHPでデータを保持する仕組みで実装されているようです。 クリックイベントも取って再生することも出来るみたいです。 prototype.js ベースで、実装されているみたいですが、応用して、サイト利用者のサイトの利用法について調査することなどが可能になりますね。 実際の動作デモはこちら
まず、日本のサイトにある一般的な登録フォームの画面遷移は 入力画面→入力確認画面→完了画面 となっている場合が多いようです。ここでリロード問題となるのは完了画面でのDBへのINSERT処理やCSV書き出し処理、メール送信処理など「一度しか行わない処理」です。例えば完了画面へ遷移した際にブラウザのリロードボタンが押された場合、確認画面よりsubmitした情報が再度submitされて上記の一度しか行わない処理が二度行われてしまいます。そうならないよう、リロード対策はスクリプトで制御します。 まずは確認画面のスクリプト 確認画面でチケットを発行し、セッションに保存しておきます。同時に完了画面へチケットがPOSTされるよう、hiddenにセット。こうして完了画面へ遷移させます。それでは完了画面のスクリプトを見てみましょう。 このように、確認画面で発行されたチケットは一度使い切ってしまえば2度処理さ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く