Heim >Backend-Entwicklung >PHP-Tutorial >Das Verzeichnis verbietet das Parsen von PHP und schränkt user_agent ein

Das Verzeichnis verbietet das Parsen von PHP und schränkt user_agent ein

不言
不言Original
2018-04-16 10:51:541929Durchsuche

Der Inhalt dieses Artikels befasst sich mit dem Verbot des PHP-Parsings in Verzeichnissen und der Einschränkung von user_agent. Jetzt kann ich ihn mit Ihnen teilen

PHP-Parsing verbieten


Wenn die Website Schwachstellen aufweist und jemand einige Trojaner-Dateien auf die Website hochlädt, werden diese im Verzeichnis der Website gespeichert. Wenn sie analysiert werden, ist sie beendet.
Wenn beispielsweise ein Hacker eine info.php hochlädt und wir Apache nicht so eingerichtet haben, dass das Parsen von von Benutzern hochgeladenen Dateien verhindert wird, sehen Hacker wahrscheinlich unsere Konfigurationsinformationen im Browser

Wir nur Diese hochgeladenen Trojaner-Dateien müssen eingeschränkt werden, und es gibt zwei Methoden zur Einschränkung:
Das Hochladen ist nicht erlaubt, aber das ist unangemessen, und alle Benutzer können es nicht hochladen.
Auch nach dem Hochladen sind keine Vorgänge erlaubt. und das Parsen ist nicht erlaubt

Das Deaktivieren des PHP-Parsings ist eine sichere Option.

Kernkonfigurationsdateien, die PHP-Parsing verhindern:

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

  • 2

  • 3

  • 4

Das Deaktivieren des PHP-Parsings führt dazu, dass der Quellcode direkt auf der Webseite angezeigt wird.

Deaktivieren Sie die PHP-Analyse des Verzeichnisses 111.com/upload.
Virtuelle Konfigurationsdatei bearbeiten:

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

Syntax der Exit-Check-Konfigurationsdatei speichern und Konfigurationsdatei neu laden:

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

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

Effekt anzeigen:

Das Verzeichnis verbietet das Parsen von PHP und schränkt user_agent ein
zeigt den Quellcode

Natürlich führt das Deaktivieren des PHP-Parsings und die gleichzeitige Verwendung der Zugriffskontrolle zu besseren Ergebnissen:

Konfigurationsdatei bearbeiten:

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

Speichern, beenden und neu laden

Das Verzeichnis verbietet das Parsen von PHP und schränkt user_agent ein

禁止访问

参考博客:

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



           

Das obige ist der detaillierte Inhalt vonDas Verzeichnis verbietet das Parsen von PHP und schränkt user_agent ein. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn