>  Q&A  >  본문

Apache 및 PHP 버전 정보 표시 색인

마스터 여러분, 그림의 빨간색 상자에 apache 및 php 버전 정보를 표시해 주세요. 어떤 구성 항목이 apache인가요?

伊谢尔伦伊谢尔伦2713일 전738

모든 응답(2)나는 대답할 것이다

  • 習慣沉默

    習慣沉默2017-05-16 17:00:42

    파일 디렉터리에 직접 표시되는 페이지는 Apache의 mod_autoindex 모듈에 의해 처리됩니다.

    앞서 다른 사람들이 언급한 ServerSignatureServerTokens에 대해 이야기해 보겠습니다ServerSignatureServerTokens

    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

    所以 ServerSignatureServerTokens 和你的问题没什么直接关系。

    也就是说,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

    ReadmeNameHeaderName 可能已经存在,那就改掉。

    然后在你网站的根目录(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 으아악

    mod_autoindex 끝에 있는 정보:

    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
    으아악
    은 다음과 같습니다:

    mod_autoindex의 최종 정보: #🎜🎜#your.domain.com 포트 443의 Apache 서버#🎜🎜# #🎜🎜#Http 헤더: #🎜🎜#서버:Apache#🎜🎜# #🎜🎜#그래서 ServerSignatureServerTokens는 문제와 직접적인 관계가 없습니다. #🎜🎜# #🎜🎜#즉, 이 문제를 직접적으로 해결해 줄 수 있는 아파치 설정 항목이 없습니다(아파치는 PHP와 결합할 필요도 없는데 왜 아파치를 설치하고 나서 PHP 정보를 중간에 보여줘야 할까요?). #🎜🎜# #🎜🎜#간접적 해결 방법: 제가 제시한 해결 방법은 Debian/Ubuntu 시스템 + mod_php 입니다. 다른 시스템도 비슷할 것으로 추정됩니다. #🎜🎜# #🎜🎜#<코드>/etc/apache2/mods_enabled/autoindex.conf
    #🎜🎜# #🎜🎜#</IfModule>앞에 오는 문자: #🎜🎜# 으아악 #🎜🎜#ReadmeNameHeaderName이 이미 존재할 수 있으므로 변경하세요. #🎜🎜# #🎜🎜#그런 다음 웹 사이트의 루트 디렉터리(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이 표시하는 정보는 어떻게 생겼는지#🎜🎜#

    회신하다
    0
  • PHP中文网

    PHP中文网2017-05-16 17:00:42

    주로 두 가지 구성이 관련됩니다 ServerSignatureServerTokens , ServerSignature 起开关作用,ServerTokens 控制显示信息多少。
    修改 httpd.conf 이 두 가지 구성은 다음과 같으며, 다시 시작한 후에 표시됩니다.

    으아악

    두 구성의 관련 값을 첨부합니다

    • ServerSignature : 끄기 켜기 이메일

    • ServerTokens: Prod | Major | Min | OS 전체(소형에서 대형까지 콘텐츠 표시)

    회신하다
    0
  • 취소회신하다