为了账号安全,请及时绑定邮箱和手机立即绑定

[LAMP]php解析与user_agent

标签:
PHP

一、限定某个目录禁止解析php 

    并不是所有的网站目录是需要解析php的,比如上传图片的目录等。禁止解析php能够防止被攻击者以php的方式搞破坏。

1、配置虚拟主机


[root@juispan ~]# vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf<VirtualHost *:80>    DocumentRoot "/data/www/123.com"    ServerName 123.com    ErrorLog "logs/123.com-error_log"    CustomLog "logs/123.com-access_log" common    <Directory /data/www/123.com/upload>        php_admin_flag engine off            ##upload目录中的php不解析        <FilesMatch (.*)\.php(.*)>        Order allow,deny        deny from all                        ##所有.php文件拒绝访问        </FilesMatch>    </Directory></VirtualHost>

2、检查重新加载


[root@juispan ~]# /usr/local/apache2.4/bin/apachectl -tSyntax OK[root@juispan ~]# /usr/local/apache2.4/bin/apachectl graceful[root@juispan ~]# ls /data/www/123.com/upload1.php  upload[root@juispan ~]# cat /data/www/123.com/upload/1.php <?phpecho "123.com";?>[root@juispan ~]# cat /data/www/123.com/upload/upload <?phpecho "123.com";?>

3、测试验证


[root@juispan ~]# curl -x127.0.0.1:80 123.com/1.php123.com[root@juispan ~]# curl -x127.0.0.1:80 123.com/upload/1.php<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"><html><head><title>403 Forbidden</title></head><body><h1>Forbidden</h1><p>You don't have permission to access /upload/1.phpon this server.<br /></p></body></html>[root@juispan ~]# curl -x127.0.0.1:80 123.com/upload/upload<?phpecho "123.com";?>


二、限制user_agent

    User Agent意为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。

    cc攻击是我们经常见到的最常见的一种攻击,它是黑客利用所能利用的肉鸡去高频访问你的站点,导致站点不可以被正常的用户所浏览。在攻击的时候有一个规律的特征,user_agent是一致的。通过对user_agent做限制,可以解决这个问题。

1、配置虚拟主机


[root@juispan ~]# vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf <VirtualHost *:80>    DocumentRoot "/data/www/123.com"    ServerName 123.com    ErrorLog "logs/123.com-error_log"    CustomLog "logs/123.com-access_log" common    <IfModule mod_rewrite.c>        RewriteEngine on        RewriteCond %{HTTP_USER_AGENT}  .*curl.* [NC,OR]  ##匹配curl的访问 OR=或关系        RewriteCond %{HTTP_USER_AGENT}  .*baidu.com.* [NC] ##NC=忽略大小写        RewriteRule  .*  -  [F]                            ##F:Forbidden 禁止    </IfModule></VirtualHost>

2、检查重新加载

123[root@juispan ~]# /usr/local/apache2.4/bin/apachectl -tSyntax OK[root@juispan ~]# /usr/local/apache2.4/bin/apachectl graceful

3、测试验证


[root@juispan ~]# curl -x127.0.0.1:80 123.com<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"><html><head><title>403 Forbidden</title></head><body><h1>Forbidden</h1><p>You don't have permission to access /on this server.<br /></p></body></html>[root@juispan ~]# curl -A "360Sec" -x127.0.0.1:80 123.com  ##-A指定user-agent123.com[root@juispan ~]# curl -A "baidu.com" -x127.0.0.1:80 123.com<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"><html><head><title>403 Forbidden</title></head><body><h1>Forbidden</h1><p>You don't have permission to access /on this server.<br /></p></body></html>


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消