Bagaimana cara menghapus header X-Powered-By di PHP? Saya menggunakan Apache Server dan saya menggunakan php 5.21. Saya tidak dapat menggunakan fungsi header_remove di php karena tidak didukung oleh 5.21. Saya menggunakan Header unset X-Powered-By, ini berfungsi di mesin lokal saya, tetapi tidak di server produksi saya.
Jika php tidak mendukung header_remove () untuk ver <5.3, apakah ada alternatif lain?
php
http-headers
Kastor
sumber
sumber
Jawaban:
Saya pikir itu dikendalikan oleh
expose_php
pengaturan di PHP.ini :Tidak ada risiko keamanan langsung, tetapi seperti yang dicatat oleh David C, mengekspos versi PHP yang kedaluwarsa (dan mungkin rentan) mungkin merupakan ajakan bagi orang untuk mencoba dan menyerangnya.
sumber
header_remove("X-Powered-By");
https://secure.php.net/manual/en/function.header-remove.php
sumber
expose_php = off
tidak berfungsi di file .htaccess atau php.Jika Anda tidak dapat menonaktifkan direktif expose_php untuk menonaktifkan banyak bicara PHP (memerlukan akses ke php.ini ), Anda dapat menggunakan arahan Apache
Header
untuk menghapus bidang header:Header unset X-Powered-By
sumber
if (function_exists('header_remove')) { header_remove('X-Powered-By'); // PHP 5.3+ } else { @ini_set('expose_php', 'off'); }
sumber
Jika Anda memiliki akses ke php.ini, set
expose_php = Off
.sumber
Jika Anda menggunakan FastCGI coba:
sumber
Coba tambahkan panggilan header () sebelum mengirim header, seperti:
header('X-Powered-By: Our company\'s development team');
terlepas dari pengaturan expose_php di php.ini
sumber
Solusi ini berhasil untuk saya :)
Harap tambahkan baris di bawah ini dalam skrip dan periksa.
Pengaturan level Ngnix / Apache dll mungkin tidak diperlukan.
header("Server:");
sumber