特定のリファラー(Referer)から「画像」参照のみをブロックする方法をまとめました。(2018/01/15作成)
455992 / Pixabay
0.設定要件
参照元(Referer)が https://bad.example.com (または http://bad.example.com) からのアクセスであった場合、拡張子「.gif .jpeg .jpg .png」ファイルは、ステータスコード「403 Forbidden」を返す。
1.Apache2.2系の場合
SetEnvIf Referer "^https?://bad\.example\.com" ref_ng <Files ~ "\.(gif|jpe?g|png)$"> order allow,deny allow from all deny from env=ref_ng </Files>
.htaccessによる制御
2.Nginx1.x系の場合
map $http_referer $ref_ng {
~^https?://bad\.example\.com/ 1;
default 0;
}
…
location ~ \.(gif|jpe?g|png)$ {
if ($ref_ng) {
return 403;
}
}
Nginxの設定ファイルによる制御
3.設定解説
https? は「s」の0回または1回の繰り返しを表し、つまり httpと https両方で有効となります。
Apacheの Orderは、SQLの orderと異なり、後に記述された方がデフォルトになります。
Nginx mapディレクティブは、特定の変数の値を別の変数の値に応じて設定できる機能です。
以上
Auto Amazon Links: プロダクトが見つかりません。
よしまさのブログをもっと見る
購読すると最新の投稿がメールで送信されます。

