Maison  >  Article  >  développement back-end  >  Le répertoire interdit l'analyse de PHP et restreint user_agent

Le répertoire interdit l'analyse de PHP et restreint user_agent

不言
不言original
2018-04-16 10:51:541833parcourir

Le contenu de cet article concerne l'interdiction de l'analyse PHP dans les répertoires et la restriction de user_agent. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer

Interdire l'analyse PHP


Si le site Web présente des vulnérabilités, si quelqu'un télécharge des fichiers de cheval de Troie sur le site Web, ils seront stockés dans le répertoire du site Web. S'ils sont analysés, ce sera terminé.

Par exemple, si un pirate télécharge un fichier info.php et que nous n'avons pas configuré Apache pour interdire l'analyse des fichiers téléchargés par les utilisateurs, les pirates sont susceptibles de voir nos informations de configuration dans le navigateur

Nous uniquement Il est nécessaire de restreindre ces chevaux de Troie téléchargés. Les fichiers sont suffisants et il existe deux méthodes de restriction :

Le téléchargement n'est pas autorisé, mais cela est inapproprié et tous les utilisateurs ne peuvent pas le télécharger
Même après le téléchargement, aucune opération n'est autorisée, et l'analyse n'est pas autorisée

La désactivation de l'analyse PHP est une option sûre.

Fichiers de configuration de base qui interdisent l'analyse PHP :

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

  • 2

  • 3

  • 4

Le résultat de la désactivation de l'analyse de PHP est d'afficher directement le code source sur la page Web.

Désactivez l'analyse PHP du répertoire 111.com/upload.

Modifier le fichier de configuration virtuel :

   [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>

Enregistrer la syntaxe du fichier de configuration de vérification de sortie et recharger le fichier de configuration :

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

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

Voir l'effet :

Le répertoire interdit lanalyse de PHP et restreint user_agent affiche le code source

Bien sûr, désactiver l'analyse PHP et utiliser le contrôle d'accès ensemble fonctionnera mieux :

Modifier le fichier de configuration :

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

Enregistrer, quitter et recharger

Le répertoire interdit lanalyse de PHP et restreint 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



           

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn