IISでページ単体にアクセス制限などをかける
小ネタ。IISでは接続元のIPアドレスによってアクセス制限を設定したりできる。説明を見ると大抵フォルダー単位で設定をしているが、それをファイル単位で設定する方法。
IISマネージャで
通常はこのようにフォルダまでしか表示されていないが
上にあるアドレスバーでファイル名までパスを入力してエンターを押すと
そのファイルだけツリーに表示される。これでフォルダにするのと同じようにファイルに設定を加えることができる。変な動作。
configファイル
結局のところIISマネージャで設定したものは.configファイルに書かれる。Default Web Siteの配下なら"C:\inetpub\temp\appPools\DefaultAppPool\DefaultAppPool.config"など。アクセス制限は以下のような記述。
<location path="Default Web Site/ARFusen/Contents">
<system.webServer>
<security>
<ipSecurity>
<add ipAddress="192.168.1.1" allowed="false" />
</ipSecurity>
</security>
</system.webServer>
</location>
このpath属性にファイルのパスを入れれば別に普通にファイルでも動作する。まあでもIISマネージャーがインストールされている場合は、上書きされたりしても嫌なのでGUIで設定できたほうがいいよね。
以上
設計としてはフォルダで分けるほうが妥当なんだけど、今回は既に稼働済みのシステムでURLを変えずに特定ページのみ制限したかったのでやってみた。
コメント
コメントを投稿