Forum Webscript.Ru

Программирование => PHP => Тема начата: Cthulhu от 06 Августа 2006, 15:28:21

Название: Запрет вывода определенных заголовков HTTP
Отправлено: Cthulhu от 06 Августа 2006, 15:28:21
Можно ли как-нибудь в php подавить вывод определенных HTTP-заголовков в ответе? Например, чтобы не выводился заголовок X-Powered-By? Переконфигурировать сервер возможности нет, надо сделать средствами языка.
Название: Запрет вывода определенных заголовков HTTP
Отправлено: html_coder от 06 Августа 2006, 19:03:06
Цитировать
Cthulhu:
Например, чтобы не выводился заголовок X-Powered-By?


expose_php = Off, но изменить можно только через php.ini. так что не получиться без изменения php.ini
Название: Запрет вывода определенных заголовков HTTP
Отправлено: brainkiller от 07 Августа 2006, 04:04:26
а в .хтакцесс пхп_флаг не выставить соответствующий?
Название: Запрет вывода определенных заголовков HTTP
Отправлено: html_coder от 07 Августа 2006, 09:39:42
Цитировать
brainkiller:
а в .хтакцесс пхп_флаг не выставить соответствующий?


Нет, см.
http://www.php.net/manual/en/ini.php#ini.list (http://www.php.net/manual/en/ini.php#ini.list)
Название: Запрет вывода определенных заголовков HTTP
Отправлено: brainkiller от 07 Августа 2006, 14:18:09
html_coder
мда, это минус!
Название: Запрет вывода определенных заголовков HTTP
Отправлено: CGVictor от 07 Августа 2006, 15:04:14
Cthulhu
А сильно мешает?
Название: Запрет вывода определенных заголовков HTTP
Отправлено: Cthulhu от 07 Августа 2006, 15:19:41
В общем, ситуация такая. Я кладу обычную gif-картинку на один хостинг и выставляю ее в разных форумах как аватар. Все работает. Теперь вторая фаза: я пишу php-скрипт, который читает эту картинку и выдает в качестве ответа. Если я пытаюсь выставить этот скрипт как аватар на форуме, то vBulletin говорит, что это не картинка вовсе, а IPB плющит - он некорректно определяет ее размеры. Сами картинки в обоих случаях бинарно совпадают, различия только в заголовках, я хотел просто подогнать заголовки второго случая под первый, надеясь, что это поможет.
Браузер обе картинки показывает нормально.
Название: Запрет вывода определенных заголовков HTTP
Отправлено: vasa_c от 07 Августа 2006, 17:44:08
Расширение у сценария gif?
Название: Запрет вывода определенных заголовков HTTP
Отправлено: CGVictor от 08 Августа 2006, 09:42:47
Cthulhu
Я думаю, x-powered-by здесь ни при чем. Где-то что-то не так отдается. Смотреть mime-s и расширения (как совершенно правильно заметил vasa_c).
Название: Запрет вывода определенных заголовков HTTP
Отправлено: Cthulhu от 08 Августа 2006, 15:37:17
Расширение gif, сценарий отрабатывает, картинка возвращается. Вот заголовки реальной картинки:

HTTP/1.1 200 OK
Date: Sun, 06 Aug 2006 10:58:08 GMT
Server: Apache/1.3.36 (Unix) mod_gzip/1.3.26.1a mod_auth_passthrough/1.8 mod_log_bytes/1.2 mod_bwlimited/1.4 PHP/4.4.2 FrontPage/5.0.2.2635.SR1.2 mod_ssl/2.8.27 OpenSSL/0.9.7a
Last-Modified: Sun, 06 Aug 2006 10:57:45 GMT
ETag: "1d007a-679-44d5cb40"
Accept-Ranges: bytes
Content-Length: 1657
Connection: close
Content-Type: image/gif

Вот заголовки скрипта:

HTTP/1.1 200 OK
Date: Sun, 06 Aug 2006 10:07:49 GMT
Server: Apache/1.3.36 (Unix) mod_gzip/1.3.26.1a mod_auth_passthrough/1.8 mod_log_bytes/1.2 mod_bwlimited/1.4 PHP/4.4.2 FrontPage/5.0.2.2635.SR1.2 mod_ssl/2.8.27 OpenSSL/0.9.7a
X-Powered-By: PHP/4.4.2
Content-Length: 1657
Connection: close
Content-Type: image/gif

Собственно контент в обоих случаях одинаков

Ссылки, если кому интересно:
Картинка:
http://www.nord.ho11.com/image.gif (http://www.nord.ho11.com/image.gif)
Картинка через скрипт:
http://www.nord.ho11.com/images_scr/image.gif (http://www.nord.ho11.com/images_scr/image.gif)
Название: Запрет вывода определенных заголовков HTTP
Отправлено: Cthulhu от 08 Августа 2006, 15:44:00
А бодягу с заголовками я затеял потому, что кроме как попробовать пошаманить мне уже в голову ничего не лезет. Если кто-нить подскажет халявный хостинг с наличием полноценного .htaccess (чтобы гифы как пхп исполнялись), буду благодарен - попробую оттуда, м.б. с хостингом какие косяки...
Название: Запрет вывода определенных заголовков HTTP
Отправлено: X-Disa от 12 Августа 2006, 23:25:51
в php есть мегафункция, позволяющая изменять уже выведенные данные.

пишем:

ob_start("ob_replace_smth"); //Запуск кеширования
...код вывода данных...
ob_end_flush(); //окончание

function ob_replace_smth($content) {
  return str_replace("что заменить","на что заменить",$content);
}