htaccessでIP制限もしくはBasic認証

特定のIPだけ許可させ、その他のIPからのアクセスにはBasic認証を表示させる。

[例1]は普通のbasic認証用のコードだが、
[例2]のように追記すると、許可されていないIPはbasic認証が表示され、
許可されているIPからのアクセスでは、認証は表示されず、通常通り利用できる。


[例1]
AuthUserFile /home/aaa/.htpasswd
AuthGroupFile /dev/null
AuthName “Please enter your id and password”
AuthType Basic
require valid-user


[例2]
AuthUserFile /home/aaa/.htpasswd
AuthGroupFile /dev/null
AuthName “Please enter your id and password”
AuthType Basic
require valid-user
Satisfy any
order deny,allow
allow from 111.222.333.444
deny from all

関数、クラス内で外部変数を使用する(変数のスコープ)

外部ファイルなどで定義されている変数(関数外の変数)をクラスや自作関数で利用したい場合、$GLOBALS配列を使用して値を使用する事ができる。
globalで定義しても良いが、ソースが荒れる可能性があるため、できるだけ使用しないようにする。<利用方>: $GLOBALS['変数名']


・configure.php

                                              • -

                                              • -

上記のファイルを作成しておいて読み込み、以下のようにして使用する。

                                              • -

                                              • -

数字の少数点以下の0を削除

他にもいい方法があると思うが、メモ。


「603.001000」のような値の末尾についている「0」を削除したいとする。
「603.001」のような形でまとめたい。
そんなときの正規表現による置き換え。すぐに書けないので。


preg_replace("/\.?0+$","","603.001000");
= 603.001

Windows update後、httpにアクセス出来なくなる件

色々な所で起こっているようなので。
Windowsのアップデート後に、ネットに接続できなくなるという事例がある。
しかもhttpだけ。httpsは接続できるし、他のポートは使用可能だし、
原因はよく分からないが、以下で解決済み。


インターネットオプション > 接続 > LANの設定 > プロキシサーバ
の項目にチェックが入っていないかチェックを。

なぜか、ここにチェックが入っているので、
これを外すとhttpにもアクセスできる。
なんで、こんな所にチェックが入ったんだろうな。
複数台PCがあると、比べられるので解決できたが、
自力では結構見つけるの苦労しそう。

PHPの配列について

PHPの場合、配列は特に宣言しなくても使えるが、
プログラム内で、配列を評価する場合などに備えて、宣言しておくべき。


$my_array = "test";
上記でも使用できるが、以下で。


$my_array = array ();
$my_array = "test";

シェルで気をつける事 絶対パスで

シェルを使ってバッチを書く際、単体で叩くと動作するが、
cronに設置すると、動作しない事がある。
基本、パスが通ってなかったりしてエラーになっているので、
コマンドもなるだけ「which」などで、絶対パスを調べて記載すること。
ディレクトリの移動が必要な際は、必ずディレクトリを移動すること。
ec2系のコマンドを書く際は必須。
はまった.....

logrotateについて

サーバのログ管理でlogrotateで各ファイルの末尾に日付を付加して管理したい時がある。
CentOS5.4系などでlogrotateのバージョンが古い場合など、ナンバリングされるだけなので
logrotate.confやlogrotate.d内の設定ファイルに記載しないといけない。
一旦、設定ファイルを確認し、記載が無い場合は、
dateext
を付与する。