忘れる前に覚書。優しい文章を目指します。
ザ・覚書 ザ・覚書
出来るだけ子供にも、わかりやすいように書いて行きたいと思います。

PCバージョンでサイトを表示しています。
ザ・覚書のトップページに戻る今のページの関連ページのリストへ

.htaccessの記述方法など

☆.htaccessの記述方法など

サイトへの不審なアクセスやDos攻撃を防ぐために、
サーバーの「.htaccess」を編集しますが、
わかっていない事もあり、なんとなく書いていましたが、
私も勉強中なので、間違いがあるかも知れませんが、ここに書いていきたいと思います。

主に拒否関係から書いておきます。





・.htaccessなんて読むのか?



「ドット エイチティー アクセス」。

・コメント


「#」を入れる。

例:
#コメントを書く
deny from XXX.XXX.XXX.XXX

deny from XXX.XXX.XXX.XXX #コメントを書く

・IPでの拒否の方法


まず、すべてのアクセスを許可することを書かなくてはいけないようです。
書かなければ、許可になっているはずなのに、なぜ書かないといけないのかはよくわかりませんが、
そうするようです。

allow:許す
deny:否定する

許可してから拒否する方法と、拒否してから許可するがあるようです。
許可してから拒否:order allow,deny
拒否してから許可:order deny,allow

許可してから拒否の場合、
その後、指定IPをdeny fromして否定(拒否)する。


例:
XXX.XXX.XXX.XXXは、IPアドレスと考えて下さい。


#許可してから拒否
order allow,deny
#全てのIPアドレスを許可する
allow from all
#特定のIPを遮断
deny from XXX.XXX.XXX.XXX

・IPの指定方法



deny from XXX.XXX.XXX.XXX
の場合は、XXX.XXX.XXX.XXXの1個だけを拒否。

deny from XXX.XXX.
の場合は、XXX.XXX.で始まるIPの範囲を拒否。

・ホスト名での指定方法


ホスト名を、仮に「ホスト名.com」とした場合。

deny from ホスト名.com
の場合は、ホスト名.comだけを拒否。
この場合、ホスト名.comの前に何かあるホスト名は拒否しません。

拒否〇:ホスト名.com
拒否×:なんやら.ホスト名.com


ホスト名を、仮に「なんやら.ホスト名.com」とした場合。
deny from なんやら.ホスト名.com
の場合は、なんやら.ホスト名.comだけを拒否(と思う)。


ホスト名の「***.ホスト名.com」とした場合。
***も含め、これをすべて拒否したい場合、
deny from .ホスト名.com

前に「.」を書くのが重要。
この場合は、後方一致するので、ホスト名.comが最後に来るホストは全部拒否されるようになるそうです。
エックスサーバーの管理者の方に教えてもらいました。

・ホスト名を指定しても拒否できない可能性


なぜかわかりませんが、
deny from .ホスト名.com
と書いても、拒否されないホストがありました。

推測ですが、
そのホストとIPが一致していない可能性。
そのIPがホストを偽っている可能性があると思っています。

IPで拒否するしかないようです。
IPがホストを偽っている場合、本当のホスト名は無害の可能性があり、
deny from .ホスト名.com
は消す方が良いのかもしれません。

・IPの範囲の指定方法


これがちょっとややこしいようです。
3.2.1.0から3.2.1.7とか指定は出来ないようです。

それに近いのが、サブネットマスクとかいうそうですが、

IPを仮に、
「3.2.1.0」から
「3.2.1.255」までを拒否したければ、

deny from 3.2.1.
サブネットマスクを使わず、これで良いようですが、


「3.2.1.0」から
「3.2.1.7」までだけを拒否したければ、
なんかサブネットマスクの計算をしないとダメそうです。


「3.2.1.0」を2進数に直すと、
00000011 00000010 00000001 00000000
だと思います。

「4.3.2.9」を2進数に直すと、
00000011 00000010 00000001 00000111
だと思います。

この場合、先頭から29個までは一致するので、

deny from 3.2.1.0/29
と書けば、この範囲を指定できるそうですが、
これは、たまたまちょうどよい値で範囲指定が成功しただけであって、

例えば、
「3.2.1.0」から
「3.2.1.9」までだけを拒否したければ、

「3.2.1.0」を2進数に直すと、
00000011 00000010 00000001 00000000

「4.3.2.9」を2進数に直すと、
00000011 00000010 00000001 00001001


同じのが28個ですから、上と同じような考えで、
deny from 3.2.1.0/28
と書いても、
結果は違い3.2.1.0~3.2.1.15までを対象にしてしまうようです。

「4.3.2.15」を2進数に直すと、
00000011 00000010 00000001 00001111

先頭から28個まで一致するのは、「4.3.2.9」も「4.3.2.15」も同じであって、
3.2.1.0~3.2.1.15までを対象にしてしまうようです。

だから範囲指定で、出来る数値と出来ない数値があるようです。

計算機を作ってくれている方がいるので、
そのリンクを置いておきます。ここ


・感想など


.htaccessでは、他にも色々な事が出来て、
私も色々していますが、難解でなんか合わないです。






記載:2017年04月頃

Twitter Facebook Google+ はてな Pocket LINE




一言掲示板です。なにかありましたら以下に書いて書き込みボタンを押して下さい。
管理人による書き込みの確認後、荒らし書き込みでない場合に表示させていただきます。
悪意ある書き込みや挑発的な書き込みと思われる内容は、表示させません。
その為、ちょっと書き込みから表示までに時間がかかってしまいます。ご了承下さい。

お名前

コメント




【ザ・覚書 3クリックアンケート実施中】
暑さの一番の原因はなんだと思いますか?
あなたの支持する政党はどの党ですか?

今のページの関連ページのリストへ
ザ・覚書のトップページに戻る
全ページのリストへ