глюк с http_referer

alexey84

phplancer
глюк с http_referer

Доброе утро
Есть скрипт с некой формой, у формы action="action.php"
после нажатия кнопки в форме данные передаются в action.php, где идет обработка и в самом конце action.php прописано header("Location: ".$_SERVER['HTTP_REFERER']);
пользуюсь этим способом всегда и всегда он работал. Но тут возникла такая ситуация что у одного из клиентов этот HTTTP_REFERER не передается, он просто пустой. Клиент уверяет что все антивирусы и фаерволы вырубил, причем такой глюк на всех машинах в сети кроме одной, на которой стоит виста. У меня подозрения почему то падают на их сеть, что может она как то не так построена и там теряется этот заголовок, может я конечно брежу, но я уже хз че делать. кто нибудь с таким сталкивался?
кстати у клиента пишется в окне браузера:
Internal Server ErrorThe server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, [email protected]ess and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
 

jonjonson

Охренеть
alexey84, элементарно реферер может быть прибит фаерволом.
Может вместо $_SERVER['HTTP_REFERER'] воспользоваться чем либо другим?

И ещё. Если в качестве сервера используется IIS, то в header("Location:.. нужно писать полный путь, включающий имя хоста.
Впрочем лучше всегда сразу писать полный URL редиректа, что бы не ломать голову по поводу сервера :)
 

alexey84

phplancer
сервак apache на нем работает 300 проектов по такому принципу и никогда не было таких глюков, значит всетаки фаервол у клиента
 

Фанат

oncle terrible
Команда форума
делать так - головотяпство.
нельзя так писать.
 

berkut

Новичок
нельзя так писать.
почему? ну не считая того, что это может не работать, как в данном случае. если клиент хрень подсунет, в том числе и сделает циклическое перенаправление - так это не страшно
 

alexey84

phplancer
Ф А Н А Т скажи тогда как по твоему правильно делать?
кстати с этим клиентом сделал вот такой ход:
сделал поле хидден туда написал адрес куда надо редирекнутся, когда фаервол отключили работало , новый какой то они фаервол поставили и этот способ перестал работать. бред какой то
 

Фанат

oncle terrible
Команда форума
у тебя два вопроса. А ты задаешь их, как один. Так нельзя делать.

1. Как правильно?
Правильно - не писать реферер. А либо прописывать жестко в скрипте, либо передавать, как ты написал, в скрипт, параметром.

2. Почему перестало работать. Этот вопрос к "как правильно" не имеет отношения!
Если что-то не работает - надо разбираться. отлаживая свой скрипт.

-~{}~ 10.12.07 12:26:

Сам я никогда не сталкивался с ситуацией, когда адрес перенаправления нельзя жестко прописать в скрипте
 

Beavis

Banned
Ну например когда пользователь может с любой страницы перейти в раздел "регистрация", зарегистрироваться, и его должно вернуть обратно. Как тогда жестко прописывать?
 

berkut

Новичок
на любой странице, в ссылку на страницу регистрации, вставить параметр, в котором будет содержаться uri текущей страницы
 

Фанат

oncle terrible
Команда форума
Ну, регистрация - это да. Вот авторизацию всегда можно сделать по тому же самому урлу.
А для регистрации придется в адресной строке передавать.
 
Сверху