.htaccess でアクセス元を制限することが可能。
アクセス元が許可しない範囲ならば、
Forbidden
You don’t have permission to access / on this server.
と表示され、アクセスを拒否する。
HTTPステータスコードは403、四百番台はクライアントエラーであり、404(Not Found)が有名。
—–
Forbidden
(形容詞)禁じられた,禁制の,禁断の
forbidの過去分詞形。
forbidden ground:立入禁止区域
—–
指定例
order allow,deny
allow from all
deny from 110.80.
deny from 110.81.
アクセス制限の順番は「order allow,deny」では、許可(allow)を先に設定し、拒否(deny)を後に設定する。
設定は後(ファイルでは下方)に設定したもので上書きされるため、許可したものでも、後で拒否すると拒否される。
つまり、ブラックリスト的な考え方。
よって、先にallow from allで全てを許可し、後でdeny from…で一部を拒否できる。
逆に「order deny,allow」では、deny from allで全てを拒否し、後でallow from …で一部を許可できる。
つまり、ホワイトリスト的な考え方。
許可範囲が非常に狭い(大学内のみ許可等)場合は後者を使うが、一般のサイトでは前者を使うことになる。
アクセス元の指定方法は、
all
全てのアクセスであり、allow from allは全てを許可し、deny from allは全てを拒否する。
IPアドレス
110.89.48.98のように4セグ全てを指定してもよいが、110.89.のように一部だけでもよい(前方一致)。
一部のみを指定する場合は、最後は「.」で止める。
ネットマスクやネットマスクのビット数を指定することも可能。
ホスト名
ホスト名で指定する。
allow from xxx.co.jp
後方一致も可能。
但し、アクセス時点ではIPアドレスしか分からないため、これからホスト名を調べ(逆引き)、指定されたホスト名と後方が一致するかで判断。
つまり、逆引きできない場合は、一致不一致が判断できない。
悪質アクセスの拒否を
deny from 163data.com.cn
で防ぐことができないのは、この「逆引き」ができないことがあるためである。
Windowsでは、cmd→nslookupで正引き、逆引きが可能。
nslookup 110.89.48.98 (逆引き,成功した場合)
名前:98.48.89.110.broad.pt.fj.dynamic.163data.com.cn
Address:110.89.48.98
ホストとIPを比較すると分かるが、IPを逆の並びにしたものがホストの頭に付いている。
nslookup 98.48.89.110.broad.pt.fj.dynamic.163data.com.cn (正引き)
*** UnKnown が 98.48.89.110.broad.pt.fj.dynamic.163data.com.cn を見つけられません: Non-existent domain
もう、SN全て拒否でイイのではないかねwwwwwwwwww
—–
正引き
ホスト名→IPアドレス
逆引き
IPアドレス→ホスト名
インプレスジャパン
売り上げランキング: 28,648
技術評論社
売り上げランキング: 74,922