サイト管理者のログイン元IPを制限するプラグインが
見つからなかったので「Limited Admin Access」と
いう名前で目下自作中です。
「サイト管理」→「設定」に項目を追加してIPアドレスや
ホスト名と登録させ、指定したアドレスでアクセスした場合
のみサイト管理者でログインできるというものです。
こんなマゾヒズムなプラグインですが、仕組みはいたって簡単で
「wpmu_options」フィルタでフォームを出力し、
「update_wpmu_options」アクションでoptionsテーブルを更新、
あと「wp_authenticate_user」辺りでチェックをすればよさそうです。
ネットワークのチェック(自IPを含むアドレス、ネットワーク、ホスト名の
記述が無いと更新しない)をdouble型でシフト演算をやってもよいのですが、
今回はPEAR:Net_IPv4を使っています。PEAR:Net_IPv6も入れて頑張ろうと
思いましたが、今のサーバーでチェックできないので…(;-_-)
チェックの部分と言語セットを作ればだいたい出来上がりますが、
悩んでいるのは「update_wpmu_options」アクションのところ。
これ、戻り値がないので、エラーだったとき困るんです。
プラグインの中でwp_dieするほどのことも無いと思いますし、
そもそもこの設定画面がエラーで再入力になる処理がないみたい(@_@;)
ま、どうせサイト管理画面だし、そんなに気にすることもないかな