【WordPress】突然すべてのページにパスワード認証が表示されるようになった

Basic認証画面(Google Chrome)

昨日、何気なく検索エンジンから当ブログにアクセスすると、ユーザー名とパスワードを求めるウィンドウが表示された。

当ブログはWordPressで作成されており、管理画面にはBasic認証をかけていたのだが、通常のページで認証ウィンドウが表示されるのはマズイ!

早速、調査・改修してみた。

まずはソースチェック

まずはソースを開いて、「wp-admin」で検索してみる。

すると、以下のコードにヒットした。

/* <![CDATA[ */
var lightbox_type = "old_type";
var ajaxUrl = "https:\/\/www.out48.com\/wp-admin\/admin-ajax.php";
/* ]]> */

どうやら、admin-ajax.phpというのを読み込んでいるのがいけないらしい。

lightboxって書いてあったので、使用していた「Huge IT Lightbox」を停止してみた。

すると、上記コードが消えて、Basic認証ウィンドウが表示されなくなった。

え、じゃあ結構前からこの状態だったの??
なんで気づかなかったんだろう…。

admin-ajax.phpについて

そもそも「admin-ajax.php」って何なの?

と思って調べてみると、Ajaxを使用している場合、通常利用されるファイルとのことなので、アクセス制限から除外するのが良いみたい。

なので、.htaccessに以下のコードを追記してアクセス制限から除外することにした。

<files wp-config.php>
order allow,deny
deny from all
</files>

これで、「Huge IT Lightbox」プラグインを有効化しても、Basic認証ウィンドウは出ないだろう。

参考サイト:
WordPressで攻撃を受けやすいファイルとそのセキュリティー対策まとめ
https://nelog.jp/attacked-php-files

これまで、ご覧いただいていた方々に余計なストレスをかけてしまい、
申し訳ありませんでしたm(_ _)m

投稿者: Output48

中学生の時に初めてHTMLに触れてからホームページ制作を独学で始める。 ベンチャー企業の営業、大手企業のPG・SEを経て、独立。 現在はとある企業のCTOと、変な名前の会社の社長をしてる。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください