カテゴリー
コンピューター

CakePHP2 でアクセス元の IP アドレス調べたら「::1」で???となった件について

とある Windows XP で XAMPP の環境で、以前メモった $this->request->clientIp(false) を試したところ、「::1」と返ってきて、????????となりました。ナンデ?調べてみて、これかな?というのにたどり着きましたので、メモします。

ポイント

  • ::1 = IPv6 のループバックデバイス = ローカルホスト = localhost

ちなみに、

カテゴリー
コンピューター

CakePHP2 の関数を使って IP アドレスを調べる方法を、メモ!

CakePHP2 の プレフィックスルーティングのページに、.htaccess の IP アドレスアクセス制限をかける方法! | oki2a24 では Apache の .htaccess を使う方法をメモしました。今度は、CakePHP2 に備わっている関数を使ってページを訪れた人の IP アドレスを取得する方法をメモします。

ポイント

  • コントローラーで、$this->request->clientIp(false)
カテゴリー
コンピューター

CakePHP2 の プレフィックスルーティングのページに、.htaccess の IP アドレスアクセス制限をかける方法!

app/Config/core.php の prefix routes 部分に次のように書き、

	Configure::write('Routing.prefixes', array('admins', 'editors', 'authors'));

app/Controller/UsersController.php で admins_login() のようなアクションを書くことで、

  • http;//example.com/admin/users/login/

にアクセスすると admins_login() アクションを実行するようにできます。プレフィックスルーティングですね。

上記の例の場合、 editors と authors も設定しているので、http;//example.com/editors/users/login/ や http;//example.com/editors/authors/login/ で editors_login() や authors_login() を実行できます。

さてここで、admins には特定の IP アドレス以外からアクセスさせたくない!となったら、どうしたらよいでしょうか?やってみた記録をメモします。