とある Windows XP で XAMPP の環境で、以前メモった $this->request->clientIp(false) を試したところ、「::1」と返ってきて、????????となりました。ナンデ?調べてみて、これかな?というのにたどり着きましたので、メモします。
ポイント
- ::1 = IPv6 のループバックデバイス = ローカルホスト = localhost
ちなみに、
とある Windows XP で XAMPP の環境で、以前メモった $this->request->clientIp(false) を試したところ、「::1」と返ってきて、????????となりました。ナンデ?調べてみて、これかな?というのにたどり着きましたので、メモします。
ちなみに、
CakePHP2 の プレフィックスルーティングのページに、.htaccess の IP アドレスアクセス制限をかける方法! | oki2a24 では Apache の .htaccess を使う方法をメモしました。今度は、CakePHP2 に備わっている関数を使ってページを訪れた人の IP アドレスを取得する方法をメモします。
app/Config/core.php の prefix routes 部分に次のように書き、
Configure::write('Routing.prefixes', array('admins', 'editors', 'authors'));
app/Controller/UsersController.php で admins_login() のようなアクションを書くことで、
にアクセスすると admins_login() アクションを実行するようにできます。プレフィックスルーティングですね。
上記の例の場合、 editors と authors も設定しているので、http;//example.com/editors/users/login/ や http;//example.com/editors/authors/login/ で editors_login() や authors_login() を実行できます。
さてここで、admins には特定の IP アドレス以外からアクセスさせたくない!となったら、どうしたらよいでしょうか?やってみた記録をメモします。