タグ別アーカイブ: plugin

初歩からわかるWordPressのnonceでAjaxをセキュアに実装する方法

一般的な nonceNnumber used ONCEWeblio 英和辞典 によると、ナンス 又は ノンス と発音)は、Web サイト、特にデータベースに不可逆な変化を引き起こす、意図しない、あるいは重複したリクエストから Web サイトを保護するための、セキュリティが目的のワンタイム・トークンです。

WordPress の nonce は、管理画面に対する CSRF 攻撃英語版 Wikipedia によると、シーサーフ と発音)対策として広く知られているかと思いますが、意外にも Ajax との組み合わせを解説した日本語記事が見当たらなかったので、「いまさら」の共有です。

本記事では、単に Ajax の Tips 的な実装方法だけではなく、CSRF 攻撃の原理や対策についても少しだけ触れたいと思います。またその上で、Ajax に nonce が必要なパターンについて言及します。

さらに、WordPress 3.5 から導入された新しいフィルターフックの使い道を探ってみたいと思います。

続きを読む

WordPressプラグインのコーディングでありがちな10の間違いと設計時に考慮すべきこと

WordPress のプラグインを作って公開すべく、基礎からみっちり学習しています。

Codex 日本語版プラグインの作成 の項には、外部リソースとして Ozh さんの2009年記事 「WordPress プラグインのコーディングでよくある10個の間違い」 が紹介されています。

Professional WordPress Plugin Development の著者でもある Ozh さんは、WordPress プラグイン・コンペティションの審査員を努めて来た関係上、今までに相当数のプラグインをレビューしているそうです。

私も色々なプラグインのコード・リーディングをしてみましたが、古いけど良質なこの記事が、必ずしも広く認知されてるわけではないことを感じています。

ということで、古くなっている部分を新しい情報で補いながら、この記事を翻訳で共有してみたいと思います。

続きを読む

たった1行でケータイやスマホ用ページを高速化するQuick CacheのTips

WordPress の WPtouchKtai Style とキャッシュ系プラグインを 併用 する場合には、キャッシュさせないように設定するのが一般的でした。なぜなら、同じ URL のページを、デスクトップ用とモバイル用のキャッシュに分ける事が難しく、両者が混在しちゃうという問題が発生するからです。当然、ケータイやスマートフォンは、キャッシュの恩恵が受けらないですよネ。

ところが Quick Cache なら、オプションでたった1行のコードを設定すれば、それぞれのページを別々にキャッシュできちゃうんです。

ということで、前回記事 では wp-config.php にコードを追記しましたが、今回はもっとスマートに、Quick Cache 側に設定する Tips として紹介したいと思います。
続きを読む

こだわる人のWordPress3大キャッシュプラグイン徹底比較

今回は、WordPress の人気キャッシュ系プラグイン Quick CacheW3 Total CacheWP Super Cache を、3者共通のページを丸ごとキャッシュする 「ページ・キャッシュ」 機能に絞り、比較をしてみました。

これらの情報は既に多数報告されているので、普通に使う分にはそれらで十分なのだと思いますが、性能を引き出すためにも知っておいて損はないかなと思うことをまとめます。

続きを読む

WordPressプラグインの重い処理をバックグランドで非同期に実行する方法

Lacoocan が重たい腰を上げ、今年3月末から MySQL5 が利用可能 になったのを機に、WordPress を 3.4.2 に上げると共に、プラグインを1から見直しています。

すぐに キャッシュ系プラグイン に手を出すのではなく、なるべく素の特性を観ながら、選ぶ楽しさを味わうのもイイかなと。

そんな中、Google Analytics (以下 GA) の集計結果を読み込み人気記事として表示する Google Analytics Popular Posts (以下 GAPP) というプラグインを使いたいと思ったのですが、そのキャッシュ設定をオンにしても、GA との通信で更新に数秒かかってしまうという問題に直面しました。

つまり、たまたま更新のタイミングに当たった運の悪い人にとっては、重たいブログとなってしまうのです。

そこで今回は、そういったプラグインに起因する重たい処理を訪問者のアクセスから分離し、サーバーとのコンビネーションで非同期に処理させる方法を探ってみました。

続きを読む

3rdパーティー製スクリプトによるフロントエンドSPOFを検出するChrome拡張

twitter down

6月22日未明、Twitter のサーバーがダウン し、全世界でサービスが停止しました。一部マニアの方々は、動いていた ケータイ用サーバー から この状況を楽しんでいた (?) ようですが、OMG..twitter was down….closest thing to living without oxygen for most of us…. (なんてこった、オレたちに酸素なしで生きろっていうのか) という声に代表されるように、世界各地で悲鳴が上がったようです。

さて純正の Twitter ウィジェット を貼っているあなたのサイトは、この障害でページが真っ白になったり途中で引っかかったりせず、無事にコンテンツを提供できたでしょうか?

ということで、前回 と同ネタですが、こういった フロントエンドの単一障害点SPOF) をより簡単にチェックできる Chrome エクステンション SPOF-O-Matic を紹介します。

続きを読む

jsdo.itの最新マイコードをブログに流すjQueryプラグインdoticker.js

Twitter 公式のプロフィールウィジェット のように、jsdo.it で公開したコードをブログでプチ紹介してくれるティッカーのようなものがあればなぁと思い立ち、作りましたので公開したいと思います。Twitter の JavaScript は、スタンドアロンで動作するようにできていますが、そのソースコードを jsbeautifier などで整形すると2000行近くもあり、こんなプログラミングは私にはとても無理です。そこでお手軽に jQuery のプラグインとています。

ほとんど jQuery バージョン 1.0 のルーチンを使っているので、古い jQuery でも動くと思います (1.3.2 までは動作することを確認をしています)。

ブラウザは、IE6 〜 8 (IETesterで)、IE9、Firefox 7、Chrome 15 (いつの間に!)、Safari 5 での動作を確認済みです。

プラグイン本体は、GitHub に上げました (MIT ライセンス)。良かったら使ってやって下さい。またバグなどの報告は、issues に挙げてもらうと助かります。

また、デモを jsdo.it に上げてありますので、ご覧ください。本記事では、使い方、オプションの解説と共に、ほんの少し中身についても書いておきますので、カスタマイズの参考にでもして下さい。
続きを読む

WordPressのショートコードを極める実用例題&便利プラグイン集

ちまたで 言われている のと同様、私もショートコードの便利さにはまっています。で、自分用のショートコード が貯まってくると、テーマとは独立に My プラグインとして管理したくなりますよネ。

今回の記事は、私が実用的だと思うショートコードと、それらを集めてオリジナルなプラグインを作るための便利ツールを紹介してみたいと思います。
続きを読む

Canvasを使ったグロー効果が幻想的!!HTML5/Videoタグ用jQuery Plugin

ambilight

新年、明けましておめでとうございます。旧年中、このブログ読んで下さった方々、お世話になりました。今年もがんばりますので、よろしくお願いします 😀 。

新年一発目のお題は、Philips 社 の TV に装備された Ambilight を模した jQuery Plugin の紹介です。このギミック、日本ではほとんど馴染みがないと思いますが、液晶 TV の背面外周に取り付けられた LED が画面に合わせた色に発光し、映画館の環境 (アンビエント) 光の雰囲気を演出するというものです。
続きを読む

WP Super CacheをRewrite使用不可のLaCoocanで設定する

Nifty の LaCoocan は、Zeus サーバー を使っています。.htaccess の書き方が微妙に Apache 系と違ってたり、LaCoocan が URL の Rewrite 機能 をユーザーに開放してないので パーマリンク が使えなかったりと、何かと不自由です。さらに不満を言えば、MySQL のバージョンが 4.0.27 で、WordPress 2.8.6 以下しか使えません。まったく、何とかしてもらいたいものです 😡 。

特にキャッシュ系プラグインは、「リライト機能が必要」 と勝手に思い込んでいたのですが、そんなことなかったんですネ。次のプラグインを比較をした上で、WP Super Cache をちょっと前から導入しています。

プラグイン 対応 WP バージョン 特徴
WP Super Cache 2.9.2 以上 バージョン 0.9.9.4 から PHP モード (mod_rewrite を使わず、PHP で静的ページへ誘導するモード) をサポート。
W3 Total Cache 2.8 以上 basic モードで PHP で静的ページへ誘導。LaCoocan を Apache と決め付け、.htaccess を勝手に書き換えるなど、行儀が悪い。
Quick Cache 3.0 以上 mod_rewrite を使わず、PHP で静的ページへ誘導する。

さて WP Super Cache を LaCoocan で使う場合、ちょっとしたコツがありますので、紹介したいと思います。
続きを読む