>  기사  >  백엔드 개발  >  디렉토리는 PHP 구문 분석을 금지하고 user_agent를 제한합니다.

디렉토리는 PHP 구문 분석을 금지하고 user_agent를 제한합니다.

不言
不言원래의
2018-04-16 10:51:541882검색

이 글에서는 user_agent에 대한 PHP 파싱 금지와 특정 참조 값을 소개합니다. 이제는 모든 사람과 공유합니다. 필요한 친구는 이를 참조할 수 있습니다.

PHP 파싱 금지


허점, 누군가가 웹사이트에 일부 트로이 목마 파일을 업로드하면 웹사이트의 디렉토리에 저장됩니다. 예를 들어 해커가 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 구문 분석을 금지하고 user_agent를 제한합니다.표시 소스 코드

물론, 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를 제한합니다.

禁止访问

参考博客:

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.