powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / php/apache: Как можно убрать get-параметры из строки адреса?
5 сообщений из 5, страница 1 из 1
php/apache: Как можно убрать get-параметры из строки адреса?
    #38327876
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть хот-спот, который всех подключившихся неавторизованных пользователей при попытке открытия любого сайта пересылает на страницу авторизации.
Строка запроса такая:
С хотспотом идет заглушка портала авторизации с примерно таким кодом:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<?php
setcookie('id', $_GET['id']);
setcookie('url', $_GET['url']);
?> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
...
                        <div class="form-controls">
                                <input id="accept-tou" type="checkbox" checked="checked" name="accept-tou" value="yes" />
                                <span class="input_text" >I accept the <a href="javascript:void(0)" id="show-tou">Term of Use</a></label>
                                <input class="input_text" name="connect" type="submit" value="Connect" id="connect" onClick="checkLogin()" />
                        </div>

...
function checkLogin(){
        location.href = 'authorized.php';
}
...


При этом предполагается, что открываемая страница пользователя авторизует и перенаправил на <url> (или не авторизует).
Никакой особо секретной информации здесь нет, но если это возможно, я бы хотел убрать эту информацию с глаз пользователей.
Настроить хот-спот, чтобы он использовал POST, я не могу.
Возможен ли такой вариант — при открытии /guest/ страница проверяет наличие определенных cookie; если их нет, то сохраняет в cookie все передаваемые аргументы и перенаправляет на себя же, но без лишних аргументов (например на http://hotspot/guest/?id=<mac>) . Ну а если есть, значит такое перенаправление уже состоялось и тогда осуществляется проверка этих данных и их авторизация.

________________________
Мы смотрим с оптимизмом...
...в оптический прицел.
...
Рейтинг: 0 / 0
php/apache: Как можно убрать get-параметры из строки адреса?
    #38328265
krevedko13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
php/apache: Как можно убрать get-параметры из строки адреса?
    #38328395
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нельзя ли чуть подробнее?
Запоминаю в $_SESSION нужные параметры и меняю location.href на очищенный от параметров адрес?
...
Рейтинг: 0 / 0
php/apache: Как можно убрать get-параметры из строки адреса?
    #38329991
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.,

Вечнокуки http://en.wikipedia.org/wiki/Evercookie чтобы юзео не дергался.
...
Рейтинг: 0 / 0
php/apache: Как можно убрать get-параметры из строки адреса?
    #38330192
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да меня и сессионные переменные вполне устроят.
Просто может быть есть другой механизм, более удобный?

Изначально у меня пользователь направляется на такую страницу:
http://hotspot/guest/?id=<mac>&ap=<mac>&t=<timestamp>&url=<url>&ssid=<ssid>

Причем протокол может быть https (а не http), может быть нестандартный порт (например 8080), имя скрипта не задается и может быть не index.php, а любым.
Посоветуйте, как правильно написать код, чтобы он не был привязан к конкретным адресам? Нужно из этой строки оставить только параметр mac=<mac>.
Я пока набросал такой код:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<?php
session_name("AuthSession");
session_start();
if (!isset($_SESSION['cleaned'])) {
  $_SESSION['cleaned'] = 1;
  $_SESSION['mac'] = $_GET['id'];
  $_SESSION['ap'] = $_GET['ap'];
  $_SESSION['ssid'] = $_GET['ssid'];
  $_SESSION['timestamp'] = $_GET['t'];
  $_SESSION['url'] = $_GET['url'];
  header("Location: http://" . $_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME'] . "?mac=" . $_SESSION['mac']);
} else {
  ...
}
?>


Но такой код мне не очень нравится, в том числе и из-за того, что в строке адреса появляется index.php.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / php/apache: Как можно убрать get-параметры из строки адреса?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]