[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Переадресация на страницу
m4a1fox
Еще раз доброго дня эксперты. Есть вот такая задумка. Есть файл php (допустим - read.php) на нем есть форма, после прочтения и нажатия кнопку (согласен) юзера перенаправляет на страницу, где он может заполнить определенную форму. Так вот вопрос. Как мне закрыть страницу с формой от прямого доступа в адресной строке. То есть что бы юзер напрямую не мог до нее добраться, а только после того как согласится с требованием на странице read.php?



Спустя 2 минуты, 23 секунды (28.12.2010 - 17:25) waldicom написал(а):
Если сделать все в одном файле (что довольно часто делается), то можно просто проверять параметры $_POST.
Если в разных, то можно пихать в сессию, а в другом файле проверять.

Спустя 6 минут, 42 секунды (28.12.2010 - 17:32) m4a1fox написал(а):
Собственно понятно объяснили. Спасибо. Но меня больше интересует, как закрыть страницу? То есть. В файле read.php есть checkbox. Я его нажимаю и после нажатия есть возможность нажать на кнопку "Согласен", она до этого не активна. После нажатия - идет переадресация на файл you_mail.php. Только я могу и так запросить файл you_mail.php.

Спустя 2 минуты, 35 секунд (28.12.2010 - 17:34) inpost написал(а):
ну и пусть запрашивается, только он выполнять будет по условию наличия кукисов. А JS отлично добавляет кукисы и сразу редирект на ту страницу, там очищаются кукисы и отображается текст! Если нету кукисов - exit();

Спустя 5 минут, 56 секунд (28.12.2010 - 17:40) linker написал(а):
При нажатии на кнопку, отправляй AJAX'ом запрос к определенному скрипту, который запишет в сессию значение, что юзверь что-то нажал. После того, как на запрос вернется ответ, делай редирект на you_mail.php. Теперь в этом скрипте берешь из сессии значение, если оно есть значит все в порядке, если нет, значит юзверь ничего не нажимал. А кукисы можно легко подделать.

Спустя 38 секунд (28.12.2010 - 17:41) m4a1fox написал(а):
С JS проблемно будет, так же как и с AJAX'ос. А если поставить на проверку переменную из checkbox'а? НУ например - 1. Если нет такой в $_GET запросе, то exit();?

Спустя 13 минут (28.12.2010 - 17:54) Invis1ble написал(а):
m4a1fox
это легко подделать можно

Спустя 4 минуты, 49 секунд (28.12.2010 - 17:59) m4a1fox написал(а):
Invis1ble
Точно, уже и сам понял. Как тогда быть? Не подскажите?

Спустя 15 минут, 9 секунд (28.12.2010 - 18:14) Invis1ble написал(а):
m4a1fox
Вобщем-то, я думаю, что если все так как ты описал, то подделывать данные формы - лишний геморой, проще будет юзеру не читая, просто нажать "я согласен"... ))
Что делать.... Наверно, просто проверять во втором скрипте, передано ли значение чекбокса (в массиве $_POST, чтоб не искушать юзверя простотой перехода с гет-параметром).. Это конечно все ИМХО.

Спустя 2 минуты, 11 секунд (28.12.2010 - 18:16) m4a1fox написал(а):
Invis1ble
Ясно. Спасибо.

Спустя 10 минут, 11 секунд (28.12.2010 - 18:26) alex12060 написал(а):
Можно либо ява скрипт написать, мол, если не нажал чекбокс, то фиг тебе, а не кнопка. Но лего подделать.
А там уже, можно ставить сессию с каким-нить рандомным значением, типа:


$_SESSION['check'] = 'iclickthis_'.md5(microtime());


И все) Для тебя важно это: iclickthis_, а далее по алгоритму, проверяешь если есть это дело, и еще отправлен пост со значением чекбокса, то все чики-пуки)

Спустя 2 минуты, 34 секунды (28.12.2010 - 18:29) Invis1ble написал(а):
Это все паранойа жёсткая ))) Зачем делать из мухи слона? Подделать в любом случае можно, при желании...

Спустя 13 минут, 15 секунд (28.12.2010 - 18:42) alex12060 написал(а):
Invis1ble

Ну не скажи)

Спустя 8 минут, 43 секунды (28.12.2010 - 18:51) m4a1fox написал(а):
alex12060
Хорошо, скажем так.
<input type="checkbox" onclick="if(this.checked != false) document.getElementById('ok').disabled = false; else document.getElementById('ok').disabled = true;">
<
br />
<
input type="submit" name="submit" class="botton_idle" value="Отправить" disabled="disabled" id="ok" />
- это активация кнопки. А куда вставлять то что Вы сказали?

Спустя 14 часов, 43 минуты, 58 секунд (29.12.2010 - 09:35) linker написал(а):
m4a1fox
Я тебе сказал как надо делать, если у тебя проблемы с JS и AJAX, то может прежде стоит подучить теорию, прежде чем браться за практику?

Спустя 45 минут, 39 секунд (29.12.2010 - 10:20) m4a1fox написал(а):
linker
Согласен.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.