■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。

Admin領域へのIPアドレスによるアクセス制限

cruel > Admin領域へのIPアドレスによるアクセス制限 @ 2011/2/27 0:06
はじめまして。
投稿する場所に迷ったのですが、簡単なハック(とも言えない内容
ですが……) を行いましたので、こちらに書き込みいたします。

クライアントより、Admin領域には特定のIPアドレスからのみアク
セス許可したいとの依頼があり、.htaccess 等では解決しません
でしたので、本体に手を入れさせていただきました。

・BaserCMS/baser/controllers/users_controller.php

var $components = array('ReplacePrefix', 'Auth','Cookie','AuthConfigure', 'EmailEx');

行を

var $components = array('ReplacePrefix', 'Auth','Cookie','AuthConfigure', 'EmailEx','RequestHandler');

とし、認証部分を以下のようにしました。

function beforeFilter() {

	// IPアドレスによるアクセス制限
	$ip = $this->RequestHandler->getClientIP();
	$allowip = 'XXX.XXX.XXX.XXX';
	if ($ip == $allowip) {

		/* 認証設定 */
		// beforeFilterの前に記述する必要あり
		$this->Auth->allow('mypage_login', 'admin_login', 'admin_logout','admin_login_exec', 'admin_reset_password');
		if(isset($this->params['prefix'])) {
			$this->Auth->allow($this->params['prefix'].'_login', $this->params['prefix'].'_logout', $this->params['prefix'].'_reset_password');
			$this->set('usePermission',$this->UserGroup->checkOtherAdmins());
		}

		parent::beforeFilter();

		$this->ReplacePrefix->allow('login', 'logout', 'reset_password', 'auth_prefix_error');

	}
}


上記書き換えで問題なく制限ができているようです。

こちらに書き込みいたしましたのは、もし同様の課題をお持ちの方が
おられたら、という参考のためと、バージョンアップの度に毎回書き
換えるのも書き換え忘れなどが発生する可能性もございますので、標
準の機能やセキュリティ強化プラグインとして、実装していただけれ
ばありがたいなあという、ご要望も兼ねてのものとなります。

自分で勉強するべきなのですが、なかなかゼロからプラグイン開発が
できるスキルもなく、虫のいい話で申し訳ないのですが、ご検討いた
だけるとありがたく存じます。
ログイン
ユーザー名:
パスワード:


  新規登録 / パスワード紛失

検索

facebook
フォーラムで悩みが解決した場合など、よかったら「いいね!」をポチっとクリックしてください!質問の回答者や開発者の励みになります

フォーラムガイド


関連リンク

オンライン状況
33 人のユーザが現在オンラインです。 (31 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 33