Помощник
|
Хочу чтобы страница не попала в $_SERVER['HTTP_REFERER'] |
Евгений_hb
|
Сообщение
#1
|
||
|
|
||
|
|||
MetSerp |
23.3.2009, 12:35;
Ответить: MetSerp
Сообщение
#2
|
|
как я понимаю авторизация говорит о наличие данных в массиве Post соответсвенно при авторизации нормальной странице будут переданны данные пост соответсвенно он не пуст.
Тогда вначале скрипта ставите проверку типа: [PHP] if (empty($_POST['любая переменная'])) {редирект} else {основной код страницы}[/PHP] |
|
|
Евгений_hb
|
Сообщение
#3
|
|
Это понятно. Дело не в этом. Рассказываю подробно. У меня есть страница language.php на которой находится скрипт переключения языка интерфейса сайта:
[PHP] <?php require_once("require.php"); $_SESSION['lang'] = $_GET['lang']; require_once("lib.php"); // Переадресация Redir($_SERVER['HTTP_REFERER']); ?> [/PHP] Теперь ситуация следующая. После того как пользователь переключает язык сайта (language.php?lang=rus) и в браузере нажмет кнопку "назад", он попадет на language.php и переадресовывается назад. Если пользователь нажмет в браузере кнопку "назад", то увидит пустую страницу браузера. Вот у меня и вопрос - как этого избежать? У меня мысль такая. Вместо переадресации (Redir($_SERVER['HTTP_REFERER'])) может сделать require_once($_SERVER['HTTP_REFERER']). Но require_once($_SERVER['HTTP_REFERER']) выдает ошибки, так как включает не файл, а http адрес. Посоветуйте как быть. |
|
|
MetSerp |
23.3.2009, 14:37;
Ответить: MetSerp
Сообщение
#4
|
|
редиректите через хеадер.
[php]header ("Location: www.mysite.my ");[/php] в таком случае страница редиректится без вывода страницы. т.е. если пользователь пойдет по адресу где пустая страница то он неувидит ее а увидит страницу которая указана в хедер |
|
|
Евгений_hb
|
Сообщение
#5
|
|
[PHP]
<? php require_once("require.php"); header ($_SERVER['HTTP_REFERER']); $_SESSION['lang'] = $_GET['lang']; ?> [/PHP] Проблема в том, что перед вызовом header ($_SERVER['HTTP_REFERER']) я использую require_once("require.php"). Поэтому переадресация не работает. В require.php у меня работа с сессионными переменными. Если я уберу эту строчку, то $_SESSION['lang'] = $_GET['lang'] не имеет смысла :wacko: |
|
|
MetSerp |
23.3.2009, 15:04;
Ответить: MetSerp
Сообщение
#6
|
|
повесте условие что если гет передан (то есть пользователь запросил смену языка) то воспользоваться функцией реквайр онс итд если на страницу пришли не передав гет либо передав но не известный (попытка пхп инъекции) тогда использовать редирект через хедер .
И кстати я бы использовал для кнопки назад ява скрипт :goodpost: |
|
|
Евгений_hb
|
Сообщение
#7
|
|
Да, с иньекциями я потом порядок наведу, а сейчас вот нужно с переадресацией назад на страницу разобраться.
Смысл в том, что чтобы поменять язык на сайте, мне все равно нужно включать в страницу require_once("require.php"), потому как нужно менять значение сессионной переменной, а header ($_SERVER['HTTP_REFERER']) после require_once("require.php") не срабатывает. Вот в чем ерунда. |
|
|
MetSerp |
23.3.2009, 15:21;
Ответить: MetSerp
Сообщение
#8
|
|
нет вы не поняли:
[php]<?php if (!empty ($_GET['lang'])) { require_once("require.php"); $_SESSION['lang'] = $_GET['lang']; require_once("lib.php"); // Переадресация Redir($_SERVER['HTTP_REFERER']); } else { session_start()//если нужно, или еще какой код что нужен header ("Location: www.mysite.my "); } ?> [/php]так не подходит? :pionertrava: если итак не подходит но при этом вам известны реферы которые вам необходимо игнорировать тогда в вашей кнопке назад добавте переменную (напрмер $ref ) и присвойте ей значение рефера а так же добавте условие на то что если рефер равен например языковой страничке то присвоить переменной значение странички смены языка а если авторизации то соответсвенно странице авторизации и в функции генерящей ссылку вместо рефера используйте свою переменную:ph34r: |
|
|
Евгений_hb
|
Сообщение
#9
|
|
|
Большое спасибо. Очень оперативно и грамотно.
Родина Вас не забудет :goodpost:
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Нужен кодер, чтобы пофиксить ошибку Wordpress после переноса сайта | 0 | Alex-777 | 949 | 7.4.2024, 18:05 автор: Alex-777 |
|
Apple пойдет на сотрудничество с конкурентами, чтобы выбиться в лидеры с ИИ | 4 | Room | 1230 | 31.3.2024, 1:15 автор: Liudmila |
|
Как составить уравнение, чтобы назначить цену для товара? | 2 | rownong27 | 761 | 21.3.2024, 12:53 автор: Lumex |
|
Хочу создать сайт кино. | 12 | jreset26 | 1900 | 30.1.2024, 0:12 автор: Liudmila |
|
Как сделать поддомены, чтобы не склеило? | 0 | Yuliya1982 | 935 | 29.11.2021, 5:26 автор: Yuliya1982 |
Текстовая версия | Сейчас: 25.4.2024, 6:01 |