마스터 여러분, 그림의 빨간색 상자에 apache 및 php 버전 정보를 표시해 주세요. 어떤 구성 항목이 apache인가요?
習慣沉默2017-05-16 17:00:42
파일 디렉터리에 직접 표시되는 페이지는 Apache의 mod_autoindex 모듈에 의해 처리됩니다.
앞서 다른 사람들이 언급한 ServerSignature
및 ServerTokens
에 대해 이야기해 보겠습니다ServerSignature
和 ServerTokens
ServerTokens Full
ServerSignature On
mod_autoindex 的末尾信息:Apache/2.4.10 (系统 Debian/Ubuntu/Windows之类的) OpenSSL/1.0.1t Server at your.domain.com Port 443
Http头部:Server:Apache/2.4.10 (系统 Debian/Ubuntu/Windows之类的) OpenSSL/1.0.1t
ServerTokens Prod
ServerSignature Off
是这个样子的:
mod_autoindex 的末尾信息:Apache Server at your.domain.com Port 443
Http头部:Server:Apache
所以 ServerSignature
和 ServerTokens
和你的问题没什么直接关系。
也就是说,Apache没有什么配置项能直接解决这个问题(Apache又不是必须和PHP结合,安装了Apache人家凭什么给你顺便显示PHP的信息?)。
间接解决:我给的是Debian/Ubuntu系+mod_php的解决方案,别的系统估计也类似。
/etc/apache2/mods_enabled/autoindex.conf
</IfModule>
前面加上:
AddHandler application/x-httpd-php .php
AddType text/html .php
ReadmeName /README.php
HeaderName HEADER.html
ReadmeName
和 HeaderName
可能已经存在,那就改掉。
然后在你网站的根目录(your.domain.com/ 对应的那个目录)建立README.php
内容:
<?php
echo apache_get_version().', PHP Version:'.phpversion();
?>
注意啦,这里有个唯一可能跟 ServerTokens
有关的内容,如果你配置的是 Prod
, 则只能显示出来Apache
, 如果配置的是 Full
就会显示我之前提到的那一大串详细信息:
Apache/2.x.xx (系统 Debian/Ubuntu/Windows之类的) OpenSSL/1.0.xx
另外如果直接在php里调用shell_exec
获得Apache版本号的话应该没有限制,可以不动ServerTokens
으아악
Apache/2.4.10(시스템 Debian/Ubuntu/Windows 등) OpenSSL/1.0.1t 서버 your.domain.com 포트 443< /코드>
Http 헤더: 서버:Apache/2.4.10 (시스템 Debian/Ubuntu/Windows 등) OpenSSL/1.0.1t
으아악
은 다음과 같습니다:
your.domain.com 포트 443의 Apache 서버
#🎜🎜#
#🎜🎜#Http 헤더: #🎜🎜#서버:Apache
#🎜🎜#
#🎜🎜#그래서 ServerSignature
및 ServerTokens
는 문제와 직접적인 관계가 없습니다. #🎜🎜#
#🎜🎜#즉, 이 문제를 직접적으로 해결해 줄 수 있는 아파치 설정 항목이 없습니다(아파치는 PHP와 결합할 필요도 없는데 왜 아파치를 설치하고 나서 PHP 정보를 중간에 보여줘야 할까요?). #🎜🎜#
#🎜🎜#간접적 해결 방법: 제가 제시한 해결 방법은 Debian/Ubuntu 시스템 + mod_php 입니다. 다른 시스템도 비슷할 것으로 추정됩니다. #🎜🎜#
#🎜🎜#<코드>/etc/apache2/mods_enabled/autoindex.conf#🎜🎜#
#🎜🎜#</IfModule>
앞에 오는 문자: #🎜🎜#
으아악
#🎜🎜#ReadmeName
및 HeaderName
이 이미 존재할 수 있으므로 변경하세요. #🎜🎜#
#🎜🎜#그런 다음 웹 사이트의 루트 디렉터리(your.domain.com/에 해당하는 디렉터리)에 README.php
#🎜🎜#를 만듭니다.
#🎜🎜#내용: #🎜🎜#
으아악
#🎜🎜#주의, 여기에 ServerTokens
와 관련될 수 있는 유일한 콘텐츠가 있습니다. Prod
를 구성하면 Apache
만 표시될 수 있습니다. code>, 구성이 Full
인 경우 이전에 언급한 자세한 정보의 큰 목록이 표시됩니다: #🎜🎜#
#🎜🎜#Apache/2.x.xx(시스템 Debian/Ubuntu/Windows 등) OpenSSL/1.0.xx
#🎜🎜#
#🎜🎜#또한 Apache 버전 번호를 얻기 위해 PHP에서 shell_exec
를 직접 호출하는 경우 제한이 없어야 하며 ServerTokens
구성을 변경하지 않고 그대로 놔두어도 됩니다. #🎜🎜#
#🎜🎜# 자세한 내용은 다음에서 확인하세요. #🎜🎜#
#🎜🎜#Apache mod_autoindex Header 및 Readme에 대한 자세한 설명#🎜🎜#PHP 함수, Apache 버전 정보 가져오기#🎜🎜#PHP PHP 버전 정보 가져오기#🎜🎜#이 PHP를 호출하기 전에 .php의 핸들러를 선언하세요. 다른 곳에서 명시했을 수도 있지만 이 구성 파일은 Apache에서 먼저 처리됩니다. 따라서 사전에 선언해야 합니다#🎜🎜#다른 ServerToken이 표시하는 정보는 어떻게 생겼는지#🎜🎜#PHP中文网2017-05-16 17:00:42
주로 두 가지 구성이 관련됩니다 ServerSignature
和 ServerTokens
, ServerSignature
起开关作用,ServerTokens
控制显示信息多少。
修改 httpd.conf
이 두 가지 구성은 다음과 같으며, 다시 시작한 후에 표시됩니다.
두 구성의 관련 값을 첨부합니다
ServerSignature : 끄기 켜기 이메일
ServerTokens: Prod | Major | Min | OS 전체(소형에서 대형까지 콘텐츠 표시)