パスワードを忘れた? アカウント作成
293291 journal

Livingdeadの日記: ApacheでURLのクエリ文字列によりアクセス制限 3

日記 by Livingdead

あるPHPスクリプトがあるURLで呼び出されたとき、パラメータ部分というかクエリ文字列によってアクセス制限をしたくなった。具体的にはindex.phpがaction=editで呼び出されたときには特定のIPアドレス以外からのアクセスを弾きたい。

        RewriteEngine On
        RewriteCond %{QUERY_STRING} action=edit
        RewriteRule /index.php /index.php [E=EDIT:TRUE]
        <LocationMatch "/index.php">
                Allow from 192.168.0.1
                Deny from env=EDIT
        </LocationMatch>

久しぶりにmod_rewriteを使ってみたのだが、これでいいのだろうか。
まぁとなりのPCから編集されてもさほど困るわけではないのだが…

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by elderwand (34630) on 2011年01月26日 22時28分 (#1893969) 日記

    動けばそれでいいとも言えますが、環境変数をセットするだけに mod_rewrite 使うのは、ドライバーがあるのにスイスアーミーナイフを持ち出してるみたいですね。

    SetEnvIf [apache.jp]を使えば、

    SetEnvIf Request_URI "action=edit" EDIT=True

    みたいな感じで書けるんじゃないでしょうか。
    もちろん、アクセス制御のところはそのままで。

typodupeerror

計算機科学者とは、壊れていないものを修理する人々のことである

読み込み中...