欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP如何获取指定网址的header头信息及隐藏关闭的方法

程序员文章站 2022-03-07 16:23:48
...
一、PHP如何获取指定URL的header信息

超级简单,就一行命令即可:

<?php print_r(get_headers('https://www.mdaima.com'));?>
 
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
)

二、如何禁显示或隐藏header信息的方法

一共分为两步,第一步是将PHP.ini文件中的expose_php = On改为expose_php = Off,重启Apache后,再看一下

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
)

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

ServerTokens Prod
ServerSignature Off

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

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″ (如果未指定任何的值,这个是默认的返回信息)

关于ServerSignature On的说明:

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

通过修改这两个参数配置文件,最终获取header的效果如下:

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
)

推荐:《php视频教程》《php教程

以上就是PHP如何获取指定网址的header头信息及隐藏关闭的方法的详细内容,更多请关注其它相关文章!

相关标签: header 隐藏关闭