Limit Login Attempts MySQL ロック解除 – WordPress

MySQL

今回は、ワードプレスのプラグインであるLimit Login Attemptsのロック解除方法をご紹介したいと思います。

 

そもそも以前、私がワードプレスを始めたばかりのころに、Limit Login Attemptsを使用してセキュリティ対策をしていたのですが

誤ってロックをかけてしまい、当分ワードプレスにログインできなくなってしまいました。

インターネットで調べても、GUIベースでのロック解除手順ばかりで

MySQLへ直接接続してロックを解除する手順が以前は見つからなかったため、自分でDBをいじくりまわして頑張った記憶があります。

 

今回はその時編み出した手順をご紹介します。

 

ロックされた状態を確認

以下のような感じでロックされるかと思います。

 

ロック解除手順

1. MySQLへ接続して、ワードプレスで使用しているデータベースへ接続してください。

# mysql -uroot -p
Enter password:

mysql> use sampledb;

 

2. 「show tables」コマンドで出力された結果に「***_options」というテーブルがあると思いますので、それを「desc」してみると、以下のような結果になります。
※テーブル名の「***_options」は、ワードプレスインストール時に決めた「$table_prefix」の値により各自異なります。

mysql> show tables;

mysql> desc sampleprefix_options;
+--------------+---------------------+------+-----+---------+----------------+
| Field        | Type                | Null | Key | Default | Extra          |
+--------------+---------------------+------+-----+---------+----------------+
| option_id    | bigint(20) unsigned | NO   | PRI | NULL    | auto_increment |
| option_name  | varchar(191)        | NO   | UNI |         |                |
| option_value | longtext            | NO   |     | NULL    |                |
| autoload     | varchar(20)         | NO   |     | yes     |                |
+--------------+---------------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)

 

各エントリの詳細は以下です。

テーブル名 : sampleprefix_options;

カラム情報
option_idエントリのID
option_nameロックされると「limit_login_lockouts」のエントリが挿入される
option_valueロックされているIPアドレス情報など
autoload自動読み込みするか

 

 

 

3. ロックされている場合は、以下のselect文で、情報が出力されます。

mysql> select * from sampleprefix_options where option_name = 'limit_login_lockouts';
+-----------+----------------------+------------------------------------------+----------+
| option_id | option_name          | option_value                             | autoload |
+-----------+----------------------+------------------------------------------+----------+
|      4596 | limit_login_lockouts | a:1:{s:****:"192.168.***.***";i:******;} | yes      |
+-----------+----------------------+------------------------------------------+----------+
1 row in set (0.00 sec)

 

 

4. select文で出力された内容を元に、ロックのエントリを削除してください。

★例
delete from sampleprefix_options where option_id = {削除したい「option_id」};

★ここでは以下となる。
delete from sampleprefix_options where option_id = 4596;

 

5. 再度select文を打ち、結果が出力されなくなれば、ロックは解除されています。

mysql> select * from sampleprefix_options where option_name = 'limit_login_lockouts';

 

以上となります。

コメント