2010年02月15日

wp-login.phpが白紙、wp-adminにリダイレクトされない

 WordPressとatahualpaで構築をお手伝いしたサイト様から、「ブログパーツを付けたらログインできなくなった!」と緊急連絡が入りました。
 「どこに何を貼りつけて、その後何をしましたか」と詳細を尋ねるメールを返したのですが、海外のこともあってすぐの返答が期待できず、とりあえず対応開始。
 どうもヘッダにスクリプト貼り付け、その後外したのに直らないらしいのですが、確かにヘッダに貼り付けられています。しかし出力されたソースを見ると、DOCTYPE宣言の前にスクリプトが吐かれていて、この時点で貼り付ける場所を間違えすぎています。

 そんなことを言っても始まらないので、ログインしてみようとすると(/wp-admin/にログイン前にアクセスすると/wp-login.phpにリダイレクトされ、ここで認証が行われる)、確かに白紙ページになってしまいます。
 通常、wp-login.phpで認証成功すれば、/wp-admin/(/wp-admin/index.php)にリダイレクトされるはずなのですが、ここでコケているようです。
 非常に不吉なことに、なぜかログイン画面でも貼り付けたスクリプト(ブログパーツ)が表示されています。コイツが悪さをしているのは一目瞭然です。

 まずはスクリプト貼り付け先ですが、普通に考えれば themes/atahualpa/header.php が書き換えられているはずです。
 ところが、このファイルを見てもスクリプトはありません。
 後から分かったのですが、運営者の方が慌ててスクリプトを外そうとし、header.phpからは取り除いていたようです。
 しかし彼がスクリプトを最初に貼り付けたのはheader.phpではなく、結論から言えば themes/atahualpa/functions/bfa_header_config.php でした。
 確かにこのスクリプトも管理画面から弄ることができて(考えてみるとこれも危ないなー)、かつこれを変更するとheader.phpも書き換えられるようです。
 向こうから報告が来る前に、この変更は見つけたので、スクリプトを外します。
 これでスクリプトは消滅し、サイトにもログイン画面にも表示されなくなったのですが、それでもwp-login.phpからのリダイレクトは失敗し、同じwp-login.phpが白紙で表示されてしまいます。

 wp-login.php 479行目あたりの

wp_safe_redirect($redirect_to);

 がコケて(リダイレクトされず)そのままexitまで行ってしまうので白紙表示になっているのですが、原因不明。
 とりあえずプラグインを全無効化(管理画面に入れないのでバックアップを取ってFTP削除)、さらにtheme以下以外のすべてのファイルを最新版に上書きしても、事象解消せず。
 theme以下に原因があることはハッキリしたのですが、ちょっと焦りました。

 冷静に考えれば、header("Location:http://hoge.com/");のコケそうなパターンは、ヘッダ出力前に何か変なものが出力されてしまっている、という状況です。よくありますね。
 問題はどこで吐かれているのかですが、弄った先は限定されているわけですから、bfa_header_config.phpをもう一度よーく見てみると、?>でphpスクリプトが終了した後に、改行が何個かあります。
 bfa_header_config.phpファイルは、読み込むとphpスクリプト以外がそのまま吐かれる対象のようです。試しにこの余計な改行を削除して再試行したところ、見事リダイレクトされてログイン成功しました。

 珍しいパターンかもしれませんが、似たところにハマった方のために記録しておきます。
 「変なものを先に吐いちゃってリダイレクト失敗」はよくあるパターンで、WordPressのログインはwp-login.phpに一度戻ってからリダイレクト、という方式なので、ログインできない時はこのパターンも一応疑ってみた方が良いです。

4798022012WordPress 2.7対応「導入&カスタマイズ」実践ガイド―個人ブログも企業サイトも簡単&無料で構築できる!
秀和システム 2009-02

posted by ふみこ at 14:46 | TrackBack(0) | WordPress

電子タバコDURA-C(510系)をプレゼントされる

 チョコをあげたら電子タバコを貰えました。
 って、ちょっと前にスタパ齋藤さんの記事を読んで「欲しい欲しい」とわめいていたからですが。

dura-c.jpg

 元喫煙者で、一応禁煙しています。ニコレットやら禁煙パイポとか使っていますが、やっぱり煙の出るものが欲しい!です。
 電子タバコにはニコチンの入っているものもあるので、それでは困りますが、少しは気がまぎれるかなー、と。
 スタパ齋藤さんの記事や電子タバコWikiで「510系」なるものが良い、と知っていたので、それをお願いしていました。DURA-Cというのも510系の仲間みたいです(良く分かっていない)。

 実際使ってみた感想。
 面白い! 吸うと先端のLEDがぽわ〜と光って、ちゃんと煙が出ます。フレーバーは色々選べるのですが、アーモンドっぽいのとか蜂蜜っぽいので試しました。
 本物のタバコのようなガツンと来る感じはありませんが、かなり楽しいです。
 電子タバコは本物のタバコより重く、キセルか何かを持っている感じ。その辺にポンと置いても火事の心配がないのも良いです。寝タバコOK。
 難点としては、バッテリが切れるのがやや早いです。スペアのバッテリと一緒に注文した方が良いです。
 バッテリはUSBで充電するタイプで、個人的にはこれでも良いですが、できたらACから充電できるタイプもあった方が良いかな、と思いました。



 電子タバコ、楽しいですよ!
posted by ふみこ at 14:23 | TrackBack(0) | 電子タバコ
↓応援クリックお願いします☆
ブログランキング・にほんブログ村へ