2012-03-19 8 views
0

私は、サブドメインへのユーザーアクセスを制限する方法に関するいくつかのアドバイスを期待していました。
サブドメインにのみwww.domain.com/index.php?mykey=12345サブドメインへのユーザーアクセスを制限する方法

のように私はこれらのキーを制御Yiiのバックエンドを持っていますが、アクセスを制限するための良い方法を見つけるカント、有効な$_GETのparamでアクセスする必要があります。私は、私が知っている

file_get_contents('/var/www/'. $requested_file) ; 
RewriteRule ^(.*)$ http://www.domain.com/index.php/$1 

明らかなセキュリティ上のリスクなどのバックエンド・コントローラーで何かをしている、index.phpにすべてのトラフィックを通過させる.htaccessルールを試してみました。それは仕事の一種ですが、すべてのトラフィックを通過するときに画像に問題があります

これを行うより簡単な方法がありますように。

編集:理想的には、私はバックエンドの存在をユーザーに見せたくありません。それで、なぜ私は明らかな簡単な方法を使用していないのですか?

RewriteCond %{REQUEST_URI} !\.(png|jpe?g|gif|js)$ [NC] 
RewriteRule ^(.*)$ http://www.domain.com/index.php/$1 

これは作る:

答えて

0

それは次のようになりますので、あなたのルールにいくつかの条件を追加することができ、あなたはそれが画像を無視する場合

(Apacheを使用していると仮定)要求されたURIに特定の拡張子がある場合、ルールは適用されません。また、RewriteRuleのターゲットがhttp://で始まる場合、内部的にURIを書き換えずにブラウザをリダイレクトします。つまり、ブラウザのURLアドレスバーにhttp://www.domain.com/some-pathと入力すると、リダイレクトされ、アドレスバーにはhttp://www.domain.com/index.php/some-pathと表示されます。ドメインビットを削除すると、内部的に書き換えられます(条件はループを防止するための条件です)。

RewriteCond %{REQUEST_URI} !^/index.php 
RewriteRule ^(.*)$ /index.php/$1 [L] 
関連する問題