아파치 PHP 버전 숨기기

Hide PHP Version (X-Powered-By)
HTTP 헤더 PHP 버전 숨기기
아파치 PHP 버전 숨기기
아파치 X-Powered-By 정보 숨기기

1 문제상황[ | ]

  • HTTP 헤더에 PHP 버전이 노출된다.
Console
Copy
[root@zetawiki ~]# curl -I http://localhost
HTTP/1.1 200 OK
Date: Sat, 06 Sep 2014 23:39:13 GMT
Server: Apache
X-Powered-By: PHP/5.3.3
Connection: close
Content-Type: text/html; charset=UTF-8

2 확인[ | ]

Console
Copy
[root@zetawiki ~]# grep expose_php /etc/php.ini
expose_php = On

3 변경[ | ]

  • PHP 설정파일 php.ini를 php.ini_old로 복사하여 보존
Console
Copy
[root@zetawiki ~]# cp /etc/php.ini /etc/php.ini_old
  • sed를 이용하여 ServerSignature On을 Off로 치환[1]
Console
Copy
[root@zetawiki ~]# sed -i "s/expose_php = On/expose_php = Off/g" /etc/php.ini
Console
Copy
[root@zetawiki ~]# diff /etc/php.ini_old /etc/php.ini
432c432
< expose_php = On
---
> expose_php = Off
→ expose_php 값이 Off로 변경됨
  • 새 설정을 적용하기 위해 아파치 재시작
Console
Copy
[root@zetawiki ~]# service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]

4 결과 확인[ | ]

Console
Copy
[root@zetawiki ~]# curl -I http://localhost
HTTP/1.1 200 OK
Date: Sat, 06 Sep 2014 23:44:55 GMT
Server: Apache
Connection: close
Content-Type: text/html; charset=UTF-8
→ PHP 정보가 보이지 않는다. (아예 X-Powered-By 행이 사라졌다.)

5 같이 보기[ | ]

6 주석[ | ]

  1. sed 대신 vi로 직접 편집해도 된다.

7 참고[ | ]

편집자 J Jmnote Jmnote bot
  • PHP 파일 다운로드 구현 2 (한글 파일명 지원)
    제가 파일다운로드 관련된 것이 서툴러서 파일 다운로드 부분을 인용하였습니다. 죄송합니다.
  • PHP에서 오라클 DB 사용
    감사합니당. YoWu
  • PHP 파일 업로드 구현
    파일정보 출력에서 $name $ext 가 정상적으로 출력되나요? 전부 echo의 쌍따옴표안에 있는데? 일리단사오육칠
  • PHP 파일 업로드 구현
    PHP echo에서 쌍따옴표 안의 변수는 해석되어 출력됩니다. 위 소스에서도 $name와 $ext가 두껍게 나와있죠? 일반 문자열과는 다르다는 표시죠.J Jmnote
  • PHP 파일 다운로드 구현 2 (한글 파일명 지원)
    'Windows NT 6.1' << 이부분은 접속한 윈도우의 플랫폼을 뜻하는걸로 압니다. ie11 접속하면 다음과 같이 바뀌었고 Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko rv:11.0 << 이부분이 Anmkst
  • Lib my.php
    Fatal error: Uncaught Error: Call to undefined function insert_rows() in D:\xampp\htdocs\naru\import_excel.php:38 Stack trace: #0 {main} thrown in D:\xampp\htdo 신정섭
  • Lib my.php
    함수 query()를 사용하면 됩니다. 예시 추가했으니 참고바랍니다.J Jmnote
  • 로또번호 생성
    초보를 위한 개발 실습 과제로군요 ㅎㅎ Pinkcrimson