How to remove “x-powered-by” header on Apache

บทนำ (Overview)

“x-powered-by” เป็น “Header” ปรากฏในส่วน “Response HTTP” ที่ส่งมาจาก “Server” ซึ่งสามารถทำให้ทราบถึงรายละเอียดของ “Web” หรือ “App server” และ “Version” ดังเช่น “X-Powered-By: PHP/5.6.14-0+deb8u1” อย่างไรก็ตามเราสามารถปิดได้โดยการเขียนโปรแกรม (How to remove “x-powered-by” on Apache by PHP) และตั้งค่าที่ Apache ได้ดังนี้

ขั้นตอน (Steps)

  1. ทดสอบลองเปิด “Apache2” บน “Kali2.0”
    [email protected]:~# service apache2 start
    
  2. เข้าไปที่โฟลเดอร์ /var/www/html แล้วสร้างไฟล์ .php โดยตั้งชื่อเป็น “setheader.php”
    //ทดลองเขียนข้อมูลอะไรก็ได้ใน File แล้วบันทึก
    Test
    
  3. จากนั้นลองเรียกผ่านเว็บบราวเซอร์จะพบ “Header”  x-powered-by x-powered-by3
  4. เปิดไฟล์ “Apache2.config” โดยใช้ Text Editor หรือคำสั่งดังนี้
    //สำหรับ Kali, Debian, Ubuntu หรือ Linux Mint
    sudo vi /etc/apache2/apache2.conf 
     
    //สำหรับ CentOS, Fedora, RHEL หรือ Arch Linux
    sudo vi /etc/httpd/conf/httpd.conf 
    
  5. จากนั้นเพิ่มคำสั่งดังต่อไปนี้
    <IfModule mod_headers.c>
      Header unset X-Powered-By
    </IfModule>
    
  6. เมื่อตั้งค่าเรียบร้อยแล้วสำหรับให้เปิดใช้งาน “mod_headers” โดยใช้คำสั่งดังนี้
    //เปิดใช้งาน mod_headers สำหรับ "Kali, Debian, Ubuntu หรือ Linux Mint" 
    [email protected]:~# a2enmod headers
    Enabling module headers.
    To activate the new configuration, you need to run:
      service apache2 restart
     
    //ถ้าเคยเปิดแล้วจะแสดง
    [email protected]:~# a2enmod headers
    Module headers already enabled
     
    //เปิดใช้งาน mod_headers CentOS, Fedora, RHEL หรือ Arch Linux 
    httpd -M
    
  7. ลอง “Restart” ตัว “Apache2” อีกครั้งโดยใช้คำสั่ง
    //สำหรับ Kali, Debian, Ubuntu หรือ Linux Mint
    sudo service apache2 restart
      
    //CentOS และ RHEL 6
    service httpd restart ()
      
    //Fedora, CentOS/RHEL 7 และ Arch Linux
    systemctl restart httpd.service
    
  8. ทดสอบเรียกเว็บเพจอีกครั้งไม่ปรากฏ “x-powered-by” x-powered-by4

 

ใส่ความเห็น