Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Как перехватить заголовки http в php?  (Прочитано 15134 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Золотая Лань
Молодой специалист

ru
Offline Offline
Пол: Женский

« : 23-08-2010 13:14 » 

Есть код, генеримый чрезмерно умной CMS (1С-Битрикс).
В нём есть некоторые http-заголовки, отправляемые командой header(), которые надо бы убрать, не отправлять.
Есть возможность добавить свой код перед тем чрезмерно умным, который отправляет ненужные заголовки.
Нет возможности просто вычистить ненужную команду header().
ob_start и иже с ним не помогают, они буферизуют как раз всё, кроме заголовков.

И как быть?
Записан
baldr
Команда клуба

cy
Offline Offline
Пол: Мужской
Дорогие россияне


WWW
« Ответ #1 : 23-08-2010 13:21 » 

Золотая Лань, А под чем сайт? Apache? IIS? Если там запретить эти заголовки?
Записан

Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #2 : 23-08-2010 13:23 » 

Ну если послать сначало любой символ, то последуюшие заголовки должны игнорироваться. Или вываливать ошибку.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Золотая Лань
Молодой специалист

ru
Offline Offline
Пол: Женский

« Ответ #3 : 23-08-2010 13:25 » 

baldr, на Apache сайт живёт. А как их запретить можно?

Finch, вариант в данном случае не годится. Там не текстовая страница, а картинка выводится, этот символ может её попортить.
Записан
baldr
Команда клуба

cy
Offline Offline
Пол: Мужской
Дорогие россияне


WWW
« Ответ #4 : 23-08-2010 13:26 » 

Золотая Лань, сам не делал, но, судя по всему, через mod_headers
Записан

Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
Золотая Лань
Молодой специалист

ru
Offline Offline
Пол: Женский

« Ответ #5 : 23-08-2010 14:32 » 

baldr, спасибо, отличный способ. Не знала раньше, но буду иметь в виду.
Жаль, что в данном конкретном случае не подходит.
mod_headers не имеется Жаль
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #6 : 23-08-2010 15:53 » 

А если перезаписать заголовки поверх своими?


Стоп! Есть же функционал...

http://ru.php.net/manual/en/function.headers-list.php
http://ru.php.net/manual/en/function.header-remove.php (>= 5.3.0)
« Последнее редактирование: 23-08-2010 15:56 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Золотая Лань
Молодой специалист

ru
Offline Offline
Пол: Женский

« Ответ #7 : 23-08-2010 16:22 » 

RXL, во как оказывается!
мораль: документацию читать надо даже тогда, когда считаешь, что тему знаешь досконально.
а тут совершенно замечательная функция появилась.

но вот незадача:
header_remove
(PHP 5 >= 5.3.0)

а на сервере php более почтенного возраста.

в общем, пришлось реализовать такой вариант, которому любой индус позавидует: рядом ещё один скрипт, который через curl забирает исходный и отдаёт уже с нужными заголовками.

а не то бы заказчик съел с потрохами.
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #8 : 23-08-2010 16:41 » new

А Nginx там использовать нельзя? Можно был бы его средствами заголовки править, ко ли в Апаче нет нужного модуля.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Золотая Лань
Молодой специалист

ru
Offline Offline
Пол: Женский

« Ответ #9 : 23-08-2010 19:13 » 

а вот там хитрая связка апача и nginx'а.
всё крутится под апачем, а на запросы пользователя отвечает nginx
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #10 : 23-08-2010 19:45 » 

Нормальная связка - у нас также. Это гибче. чем просто Апач.

Для Nginx есть сторонний модуль: http://wiki.nginx.org/NginxHttpHeadersMoreModule
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Золотая Лань
Молодой специалист

ru
Offline Offline
Пол: Женский

« Ответ #11 : 23-08-2010 21:25 » 

эхъ Жаль
хостинг там Жаль

пользоваться можно только тем, что установлено.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines