2014年1月27日月曜日

CKeditorの文字色と文字背景色を変えるボタンが出てこない。

CKeditor4.3.2をダウンロードして組み込んだところ、
文字色と文字背景色を変えるボタンが出てこない。
CKEditor.com | The best web text editor for everyone


おかしい。
昔は出ていた気がするんだけど。
configをいじっても出ない。

プラグインで何とかなりそうだったので、colorbuttonってのを入れてみた。
Color Button | CKEditor.com

が、エラー発生。
こんなエラが出る。panelbuttonがどーのこーのってエラーも。

[CKEDITOR.resourceManager.load] Resource name "colorbutton" was not found

スタックオーバーフローさんにもあった。
The textarea disappears - Ckeditor - Stack Overflow

panelbuttonというプラグインをダウンロードしたらエラーが消えた。
Panel Button | CKEditor.com

無事、文字色と文字背景色を変えるボタンが出てきました。

2012年4月21日土曜日

HTMLのインデントを揃えたい時に使える整形サービス

HTMLのインデントがズレていると可読性が落ちるので、
綺麗にインデントを揃えたい時に見つけたサービス。


HTML整形ツール(PHPソース付き)

かなり便利です。
PHPソースコードが付いているので、変換ルールを確認できます。

JavaScriptのコードが入っていると(onclickなど)、
スクリプトが改行されてしまうので注意が必要。

秀丸の正規表現置換を使ってinputタグを修正する

inputタグに閉じタグが付いていないHTMLファイルを、
一括で処理したかった時に、使用した方法をメモ。

メニューの検索->置換で、
正規表現のチェックを付けて、検索対象に以下を入力。


置換対象に以下を入力。
※inputタグの後ろにタグが続いていると上手く動かないので注意。

2011年11月25日金曜日

WordPressのパスワードを別システムでも使いたいときの認証方法

「WordPressのユーザーを別のシステムに移行する」といった
ちょっと変わった案件に出くわした際のメモ。

パスワードもそのまま移行する仕様ですが、
新しいシステム側のログインチェック時にどうやって比較すれば良いのか、というのが疑問。

WordPressでのパスワードの暗号化(ハッシュ化)


そもそもWordPressのパスワードってどういう形で保存されているのだろう?

  • バージョン2.5以降:phpass
  • バージョン2.5より前:md5

ってことみたい。
バージョンの途中で変わっているようです。

ちなみに、phpassで保存されているかどうかは、DB内のパスワードを見て、
頭の三文字が$P$かどうかを見れば分かるっぽいです。

phpassって何?って方には、こちらの記事がオススメ。
なぜPHPアプリにセキュリティホールが多いのか?:第40回 MOPS:安全性の高いパスワードハッシュ作成ツール - phpass|gihyo.jp … 技術評論社

よりセキュアにってことみたいです。

暗号化:wp_hash_password()


wp-includes -> pluggable.php 内のwp_hash_password()がハッシュ化する関数になります。
requireしているclass-phpass.phpというのがphpassの本体です。

※ソースコードはWordPress 3.2.1から引用。

wp_hash_password()の戻り値がハッシュ化されたパスワードになります。
このパスワードがWordPressのデータベース、 wp_usersテーブルに格納されています。


パスワード比較:wp_check_password()


新しいシステムでは、、WordPressで管理されていたユーザパスワードと、
画面から入力されたパスワードを比較する必要がありました。

どうやって比較すればよいのでしょう。
pluggable.php 内のwp_check_password()を参考にしました。


上記の一行がチェックの処理です。

画面から入力された平文のパスワードと、
データベースに格納されているハッシュ化されたパスワードを、
このCheckPassword()に渡します。

戻り値を判断して、完了です。


関数内では、md5で保存されている場合は「phpassで一度保存し直す処理」が
チェック前に行われています。

ちなみに、今回の案件では、WordPressのバージョンは2.5以降のはずのに、 パスワードはMD5で保存されていました。それで随分とはまりました。