CakePHP2 の プレフィックスルーティングのページに、.htaccess の IP アドレスアクセス制限をかける方法! | oki2a24 では Apache の .htaccess を使う方法をメモしました。今度は、CakePHP2 に備わっている関数を使ってページを訪れた人の IP アドレスを取得する方法をメモします。
ポイント
- コントローラーで、$this->request->clientIp(false)
Linux の悪戦苦闘記、プログラミング、WordPress、ウェブサービス、Windows、Mac などの話題ですの。
CakePHP2 の プレフィックスルーティングのページに、.htaccess の IP アドレスアクセス制限をかける方法! | oki2a24 では Apache の .htaccess を使う方法をメモしました。今度は、CakePHP2 に備わっている関数を使ってページを訪れた人の IP アドレスを取得する方法をメモします。
MySQL には CSV 出力する機能が備わっていることに、初めて気がつきました。
喜び勇んで試してみたものの、Excel ではどうにもうまく読み込めません。特に、セル内で改行があると、次の行という扱いになってしまうのですよね。。。
そこで、何とかしてみたメモを残しておきます。
あっ、普通の update というのは、WHERE 区に自由な条件をつける、という意味です。今回、CakePHP2 にて次のことをやってみたのでメモします。
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 アドレス以外からアクセスさせたくない!となったら、どうしたらよいでしょうか?やってみた記録をメモします。
https://oki2a24.com/test/ 配下のページにアクセスしたときに Basic 認証を求めるサンプルです。サーバ上のディレクトリは次になります。
ユーザ名、パスワードは、次のようにします。
ACLを制御するシンプルなアプリケーション – CakePHP Cookbook v2.x documentation のグループだけのACL に書かれている関数を User モデルに追加すると、ユーザー単位ではなく、グループ単位の ACL とできる、とあります。
しかし、この関数をつけてもつけなくても「 aros テーブルは以下のようになるでしょう」とあるようなテーブル構造になりません。ナンデ?ウェブからユーザーを登録しても、aros テーブルにデータが登録されてしまいます。ナンデ?
そこで、この状態ですこしだけ検証してみましたのでメモします。
ウェブページのリンクをクリックしてメーラーを起動、送信する方法をメモします。
<a href="mailto:mailto@example.com?subject=ここが件名&body=ここに本文">メールへのリンク</a>
以前 CakePHP2 でラジオボタンを作ったときに、ボタンをクリックしたら onclick に書いた関数を起動するようにしたかったときがありました。地味に躓いたので、ポイントをメモしておきます。
CakePHP2 で JavaScript を使いたいですが、いまさらながら初めてのことでしたので
の二つをメモします。
FormHelper::input の ‘type’ => ‘date’ を使うと一発で「年月日」のセレクトフォームを作れて幸せな気持ちになります。しかし!しかしはまりました。
年と月と、月と日の間に入れる文字列を自由にできないのです!そこで、不完全ながら何とかした記録を残しておきます。
誕生日<?php echo $this->Form->datetime('User.birth_date', 'Y', null, array('minYear' => 1980,'empty' => '----','orderYear' => 'asc'));?>年
<?php echo $this->Form->datetime('User.birth_date', 'M', null, array('monthNames' => false,'empty' => '--'));?>月
<?php echo $this->Form->datetime('User.birth_date', 'D', null, array('empty' => '--'));?>日
<?php
if ($this->Form->isFieldError('User.birth_date')) {
echo $this->Form->error('User.birth_date');
}
?>