ログイン・ログアウトの不具合を直しました
先月末くらいから、ログインやログアウトをしようとするとエラー表示のページに飛ばされてしまう症状が出ていましたが、原因を突き止めて直しました。「葛ラ会員専用」のページなど、IDとパスワードを入力してログインしないと読めないようになっています。もし葛ラ会員でまだIDとパスワードをまだ持ってない方がいらっしゃいましたら、「問い合わせ」より管理者まで連絡をください。IDとパスワードを作って折り返しメールで連絡します。
以下は、「なんでエラーになっていたか」を突き止めるまでの経緯です。ほとんど愚痴なんで読まなくてOKです。
こういった不具合はよくあることではあるのだが、「新しくWordPressのサイトを作った時に設定をちょっとだけ間違えて、login.phpの場所にとぼうとして別の場所を参照してしまっていることにより404表示になる」というもの。すでにちゃんと設置されていてそれまでは問題がなくて、特に何もしていないのにある日突然エラーになるというのは、ちょっと原因が思い当たらない。
とりあえず「設置ミスでエラーが出てしまっている場合」を想定していくつかの設定を変更したり見なおしたりしてみたものの、まったく状況は変わらない。
似たような症状が出ている人はいないかと、000webhost.comにおいてlogin.phpのエラーについてなにか助けを求めて解決してる人を、Googleの検索機能で期間指定を行い最近のものに限定して検索してみたところ、000webhost.comのSEOによるこんなアナウンスを発見。簡単に言うと、「それは異常ではない。こちらでそうなるように設定したのだ」というもの。
どういうことなのか、要約すると、「login.phpというデフォルトの名前のままだとハッカーの猛烈な攻撃を受けまくりでとても耐え切れない。だからlogin.phpという名前ではない他の名前に変更しないとダメなようにした。たとえばlogin-new.phpというような名前に変更しなさい。その際は、login-new.php内にある該当箇所も書き換えないとだめだよ」というもの。
これは、罠だ……。
しょうがないのでそこに書かれているとおりphpファイルの名前を変更し、該当箇所も書き換えたのだが、それでもログイン・ログアウトに関わる何らかの操作をするとすぐに404エラーに飛ばされてしまう。login.phpを参照している箇所は、上記のSEOによるアナウンスによれば一箇所だけということだが実際にはそんなことはなく、多岐にわたっているからだ。
一個一個探して変更していこうと思ったのだが予想以上に数が多いので、エディタの持つグローバル検索の力を借りてlogin.phpを参照している場所をリストアップするとなんと120箇所以上もあった。中には後からインストールしたプラグインの中に記述されているものまである。安易にphpの名前を変更しろとか言うけれど、それが及ぼす結果についてどれだけ考慮してたんだメリッサSEO!
とりあえずその全部を変更し、変更したファイルのみを改めてUPしなおして、ようやく動作が通常に戻った。これ、普通の人だとどうしようもないんじゃないだろうか……。それとも海外サーバでブログ構築しようというのなら、このくらいのことはできて当然ってことなんだろうか……。
コメントを書く