ホームページ  >  記事  >  バックエンド開発  >  ディレクトリは PHP の解析を禁止し、user_agent を制限します

ディレクトリは PHP の解析を禁止し、user_agent を制限します

不言
不言オリジナル
2018-04-16 10:51:541833ブラウズ

この記事では、ディレクトリ内の PHP の解析の禁止と user_agent の制限について説明します。これを必要な友達に共有します。

Web サイトに抜け穴、誰かが Web サイトにトロイの木馬ファイルをアップロードした場合、それらは Web サイトのディレクトリに保存されます。たとえば、ハッカーが info.php をアップロードした場合、それは終了します。 Apache がユーザーのアップロードファイルの解析を禁止すると、ハッカーがブラウザで設定情報を閲覧する可能性があります

これらのアップロードされたトロイの木馬ファイルを制限する必要があるだけです:

アップロードを許可しませんが、これは不適切です。 , すべてのユーザーはアップロードできません
アップロード後も操作は許可されず、解析も許可されません

PHP解析を無効にするのが安全なオプションです。

PHP 解析を無効にするコア設定ファイル:

<Directory /data/wwwroot/www.123.com/upload> //选择目录
    php_admin_flag engine off //禁止解析PHP
</Directory>

1

  • 2

  • 3

  • 4

  • PHP 解析を禁止した結果は、直接表示されますのソースコードウェブページ。

  • 111.com/upload ディレクトリの PHP 解析を無効にします。
仮想プロファイルを編集します:

   [root@shuai-01 ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

<Directory /data/wwwroot/111.com/upload>
    php_admin_flag engine off
</Directory>



  • プロファイル構文を保存して終了し、プロファイルを再読み込みします:

    [root@shuai-01 ~]# /usr/local/apache2.4/bin/apachectl -t
    Syntax OK
    
    [root@shuai-01 ~]# /usr/local/apache2.4/bin/apachectl graceful

  • 効果を表示します:ソースコードを示します

    もちろん、PHP の解析を無効にし、アクセス制御とともに使用すると、より適切に機能します:
設定ファイルを編集:

<Directory /data/wwwroot/111.com/upload>
    php_admin_flag engine off
    <FilesMatch (.*)\.php(.*)>
    Order allow,deny
    deny from all
    </FilesMatch>
</Directory>

ディレクトリは PHP の解析を禁止し、user_agent を制限します

終了を保存してリロード

ディレクトリは PHP の解析を禁止し、user_agent を制限します

禁止访问

参考博客:

http://blog.51cto.com/kevinjin117/1835341

限制user_agent

user_agent(用户代理):是指浏览器(搜索引擎)的信息包括硬件平台、系统软件、应用软件和用户个人偏好。 
当黑客用CC攻击你的服务器时,查看下日志发现user_agent是一致的,而且一秒钟出现多次user_agent,这样就必须限制user_agent

配置文件:

   <IfModule mod_rewrite.c> //使用rewrite模块
        RewriteEngine on
        RewriteCond %{HTTP_USER_AGENT}  .*curl.* [NC,OR] //定义user_agent条件,OR表示两条件之间是或者的意思,NC表示忽略大小写
        RewriteCond %{HTTP_USER_AGENT}  .*baidu.com.* [NC] //定义user_agent条件
        RewriteRule  .*  -  [F] // 规则 [F] 表示forbidden(403)
    </IfModule>

编辑虚拟配置文件:

   [root@shuai-01 ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

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

保存退出检查配置文件语法并重新加载配置文件:

[root@shuai-01 ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK

[root@shuai-01 ~]# /usr/local/apache2.4/bin/apachectl graceful

测试:

[root@shuai-01 111.com]# curl -x127.0.0.1:80 &#39;http://111.com/123.php&#39; -IHTTP/1.1 403 Forbidden
Date: Tue, 26 Dec 2017 11:41:06 GMT
Server: Apache/2.4.29 (Unix) PHP/5.6.30
Content-Type: text/html; charset=iso-8859-1

指定一个user_agent测试:

[root@shuai-01 111.com]# curl -A "shuailinux" -x127.0.0.1:80 &#39;http://111.com/123.php&#39; -I
HTTP/1.1 200 OK
Date: Tue, 26 Dec 2017 11:42:18 GMT
Server: Apache/2.4.29 (Unix) PHP/5.6.30
X-Powered-By: PHP/5.6.30
Content-Type: text/html; charset=UTF-8

命令:curl 
选项: 
-A 指定user_agent。 
如:

[root@shuai-01 111.com]# curl -A "shuailinux" -x127.0.0.1:80

-e 指定referer,指定引用地址 
如:

[root@shuai-01 ~]# curl -e "http://111.com/123.txt" -x127.0.0.1:80 111.com/logo.png -I

-x 在给定的端口上使用HTTP代理 
如:

[root@shuai-01 111.com]# curl -x127.0.0.1:80 &#39;http://111.com/123.php&#39;

-I 查看状态码 
如:

[root@shuai-01 111.com]# curl -x127.0.0.1:80 &#39;http://111.com/123.php&#39; -I



           

以上がディレクトリは PHP の解析を禁止し、user_agent を制限しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。