zhangjingyu
有时候我们会面临垃圾留言和恶意镜像网站的骚扰,这个时候用.htaccess文件可以屏蔽某IP或IP段的访问。
代码如下
Order Allow,Deny
Allow from all
Deny from 104.194.16.230 104.194.16.231
允许所有,禁止 XXX,请将里面的IP改成你要封杀的IP地址。
并另存为.htaccess,上传到网站根目录,一般为public_html,某些是htdocs,部分程序会有这个文件,例如WP,直接添加到里面即可。
禁止ip段
Order Allow,Deny
Allow from all
Deny from 192.168.1
以上相当于禁止192.168.1.1-192.168.1.254整个段
附录:使用详解
Allow和Deny可以用于apache的conf文件或者.htaccess文件中(配合Directory, Location, Files等),用来控制目录和文件的访问授权。order,顾名思义是顺序的意思,所以order命令可以决定deny和allow起作用的顺序,通俗的说就是谁排在最后那么谁就有最终的决定权。
order deny,allow和order allow,deny的区别也就显而易见了,前者的意思是先检查是否有deny命令,不论有没有都会再继续检查是否有allow规则,如果有,allow规则的内容可以覆盖掉deny规则。例如,
Order Allow,Deny
Allow from ip1
Deny from all
本意是想禁止ip1的访问,而允许其他所有ip访问,但显然用反了顺序,按照谁在后谁最大的原则,deny是掌握大权的人,所以deny from all就将allow的命令否决了。正确的写法应该是:
Order Deny,Allow //先检查Deny,并由Allow拍板
Deny from all //Deny命令要求禁止所有ip的访问
Allow from ip1 //Allow说只允许ip1访问
结果:只允许ip1访问网站,禁止其他所有ip的访问。
按照这个原则,还有如下应用。
禁止特定ip的访问
order allow,deny
allow from all
deny from 1.1.1.1 ;写要封的IP
禁止部分ip,其他的全部开放的两种写法
Order Deny,Allow
Deny from ip1 ip2
或者
Order Allow,Deny
Allow from all
Deny from ip1 ip2