>  기사  >  백엔드 개발  >  PHP는 어떻게 특정 URL의 헤더 정보를 얻고 이를 숨기고 닫나요?

PHP는 어떻게 특정 URL의 헤더 정보를 얻고 이를 숨기고 닫나요?

autoload
autoload앞으로
2021-03-24 15:10:343467검색

1. PHP에서 특정 URL의 헤더 정보를 가져오는 방법

                                                                                                                                                       out out out out using using

첫 번째 단계는 PHP에서 <code>expose_php = On을 변경하는 것입니다. .ini 파일을 expose_php = Off로 변경하세요. Apache를 다시 시작한 후 다시 살펴보세요

<?php print_r(get_headers(&#39;https://www.mdaima.com&#39;));?>
 
Array
(
    [0] => HTTP/1.1 403 Forbidden
    [1] => Date: Sun, 24 Jan 2021 05:09:48 GMT
    [2] => Server: Apache/2.4.46 (Win64) OpenSSL/1.1.1i PHP/7.3.26
    [3] => Content-Length: 199
    [4] => Connection: close
    [5] => Content-Type: text/html; charset=iso-8859-1
)
다시 시작하면 에 대한 정보를 확인할 수 있습니다. PHP 버전은 더 이상 표시되지 않지만 Apache에 대한 정보와 서비스 이름은 계속 표시됩니다. Apache의 httpd.conf에 두 가지 명령을 추가해야 합니다. 먼저 Apache의 httpd.conf 파일에 다음 두 가지 구성 명령이 있는지 확인하십시오. 그렇지 않은 경우 구성 파일 하단에 두 줄의 데이터를 직접 추가하십시오.
Array
(
    [0] => HTTP/1.1 403 Forbidden
    [1] => Date: Sun, 24 Jan 2021 05:10:50 GMT
    [2] => Server: Apache/2.4.46 (Win64) OpenSSL/1.1.1i
    [3] => Content-Length: 199
    [4] => Connection: close
    [5] => Content-Type: text/html; charset=iso-8859-1
)

ServerTokens의 명령 구성 매개변수는 아래 지침을 참조하세요. PHP.ini文件中的expose_php = On改为expose_php = Off,重启Apache后,再看一下

ServerTokens Prod
ServerSignature Off

        重启后,我们可以看到关于PHP版本的信息已经不显示了,但是Apache和服务名的信息还有显示,我们需要更彻底一点,这样才安全。我们需要在Apache的httpd.conf中增加两个指令,首先我们先确认一下Apache的httpd.conf文件中有没有如下两个配置指令,如果没有的话直接在配置文件最下面增加两行数据。

ServerTokens Prod   显示“Server: Apache”
ServerTokens Major  显示 “Server: Apache/2″
ServerTokens Minor  显示“Server: Apache/2.2″
ServerTokens Min   显示“Server: Apache/2.2.17″
ServerTokens OS   显示 “Server: Apache/2.2.17 (Unix)”
ServerTokens Full   显示 “Server: Apache/2.2.17 (Unix) PHP/5.3.5″ (如果未指定任何的值,这个是默认的返回信息)

关于ServerTokens的指令配置参数看下面的说明:

Array
(
    [0] => HTTP/1.1 403 Forbidden
    [1] => Date: Sun, 24 Jan 2021 04:54:49 GMT
    [2] => Server: Apache
    [3] => Content-Length: 258
    [4] => Connection: close
    [5] => Content-Type: text/html; charset=iso-8859-1
)

关于ServerSignature On的说明:

        设置为On时,当有用户请求访问我们网站的网页不存在时,服务器将有错误提示显示出来,错误提示将在页面的最下面将包含服务器的名字、Apache的版本等相关都显示信息,这将给一些不安好心的人提供一些便利而利用已知的版本漏洞。所以我们最好不要显示这些信息,我们可以将这个参数设置为Off

        通过修改这两个参数配置文件,最终获取header

rrreee

ServerSignature On에 대한 지침:
On으로 설정하면 사용자가 당사 웹사이트의 웹 페이지에 액세스하도록 요청할 때 존재하지 않는 경우 서버에 오류 메시지가 표시됩니다. 오류 메시지에는 페이지 하단에 서버 이름, Apache 버전 및 기타 관련 정보가 포함됩니다. 불안한 사람들에게 약간의 편의를 제공하고 알려진 버전의 취약점을 활용하십시오. 따라서 이 정보를 표시하지 않는 것이 좋습니다. 이 매개변수를 Off로 설정할 수 있습니다.

🎜         이 두 매개변수 구성 파일을 수정하면 헤더를 얻는 최종 효과는 다음과 같습니다. 🎜rrreee🎜권장: "🎜php video tutorial🎜" "🎜php tutorial🎜"🎜

위 내용은 PHP는 어떻게 특정 URL의 헤더 정보를 얻고 이를 숨기고 닫나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 码代码-李雷博客에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제