Apache限定某个目录禁止解析php

温馨提示:这篇文章已超过1025天没有更新,请注意相关的内容是否还可用!

禁止解析php主要是为了安全,一般静态文件或者图片所存放的目录下是不允许放PHP的,以防黑客上传php木马

设置步骤如下

<Directory /data/wwwroot/ahao1.com/admin>
#禁止解析PHP
php_admin_flag engine off
#访问php后缀的全部拒绝,拒绝后都无法访问了  
<FilesMatch (.*)\.php(.*)>
Order allow,deny  
Deny from all  
</FilesMatch>  
</Directory>

验证是否正确 # /usr/local/httpd/bin/apachectl -t

重新加载配置文件# /usr/local/httpd/bin/apachectl graceful 

测试: curl测试时直接返回了php源代码,并未解析,如下图,直接403错误

image.png

限制user_agent

cc攻击:遇到user_agent很规律的请求,就可以判定是cc攻击。cc攻击,一秒钟访问N次服务器

<IfModule mod_rewrite.c>
RewriteEngine on  
RewriteCond %{HTTP_USER_AGENT}  .*curl.* [NC,OR]  
RewriteCond %{HTTP_USER_AGENT}  .*baidu.com.* [NC]  
RewriteRule  .*  -  [F]  
</IfModule>

OR:or,表示或者,curl或者baidu。

NC:忽略大小写。

F:Forbidden,禁止。

# /usr/local/apache2.4/bin/apachectl -t  //验证配置文件是否正确

Syntax OK

# /usr/local/apache2.4/bin/apachectl graceful  //重新加载

测试:

# curl -x 127.0.0.1:80 "http://ahao1.com/123.php" -I

HTTP/1.1 403 Forbidden

# curl -x 127.0.0.1:80 "http://ahao1.com/" -I

HTTP/1.1 403 Forbidden

因为用的curl,所以会被拒绝。

# curl -A "cc" -x 127.0.0.1:80 "http://ahao1.com/" -I

HTTP/1.1 200 OK

# curl -A "aha1" -x 127.0.0.1:80 "http://ahao1.com/" -I

HTTP/1.1 200 OK

-A:指定user_agent。指定了user_agent以后,这个RewriteRule就没意义了。

-e:指定referer。

-I:查看状态码。

-x:指定目标IP。

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作有参考学习价值
喜欢请点击上方【分享】,如果对您有帮助可点击上方【打赏】打赏本站。谢谢大家对阿豪运维笔记的支持。

文章作者: 阿豪运维笔记(阿豪同学)
本文链接:
文章版权:站长码字很辛苦,除非注明,否则均为阿豪运维笔记原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码