Apache2.4では2.2で使っていたOrder allow,deny
などの記述が変更され、新しい書き方になったみたいです。ということで、その書き方を調べてみました。
アクセス制限の書き方
mod_authz_coreを使ったアクセス制限の書き方
全てのアクセスを許可する
<Directory "/admin">
Require all granted
</Directory>
従来の書き方
<Directory "/admin">
Order allow,deny
Allow from all
</Directory>
全てのアクセスを拒否する
<Directory "/admin">
Require all denied
</Directory>
従来の書き方
<Directory "/admin">
Order allow,deny
Deny from all
</Directory>
特定のIPのみアクセスを許可する
<Directory "/admin">
Require ip 123.456.789.012
</Directory>
従来の書き方
<Directory "/admin">
Order deny,allow
Deny from all
Allow from 123.456.789.012
</Directory>
特定の環境変数がある場合のみアクセスを許可する
<Directory "/admin">
Require env value
</Directory>
従来の書き方
<Directory "/admin">
Order deny,allow
Deny from all
Allow from env=value
</Directory>
リンク
mod_authz_core – Apache HTTP Server Version 2.4
http://httpd.apache.org/docs/current/mod/mod_authz_core.html
Upgrading to 2.4 from 2.2 – Apache HTTP Server Version 2.4
http://httpd.apache.org/docs/2.4/upgrading.html
関連記事
htaccessとhtpasswdを使ったBasic認証の設定
Basic認証は安全性に問題があり本格的に使うことは稀と思いますが、簡単に設置できるので簡易的なアクセス管理に便利です。
.htpasswdの作成
SSHなどで設置先のサーバーにログインできるという前提で説明します。
SSHでログインできない場合は、ローカルPCなどで.htpasswdを作成してアップロードすることになります。注
新規作成
以下はlolipopという...
htaccessでwwwのアリとナシで統一
wwwアリで統一する場合
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule (.*) http://www.example.com/$1 [R=301,L]
wwwナシで統一する場合
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.exa...
Access-Control-Allow-Origin
設置したCGIを違うドメインからでも使えるようにしたい場合は、HTTPヘッダーにAccess-Control-Allow-Originを追加するとできるようになるそうです。
CGI側でヘッダーを追加する場合
次のような感じでHTTPヘッダーを追加します。
print('Access-Control-Allow-Origin: *')
print('Content-Type: t...
.htaccessで特定ボットのアクセスを拒否する書き方
最近、「SemrushBot」「Linespider」「BLEXBot」あたりのボットが活発に活動しているようで、Webサーバーに大量のログが残っていました。検索エンジン関係であればボットのアクセスも必要経費と見なせますが、SEO系ボットによるアクセスはサーバーの負荷になるだけなので、余り嬉しくありません。
ということで、特定のボットによるアクセスを拒否したい場合は.htaccessに以下...