Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

header('Location: ...'); + Refresh страницы

444
03 сентября 2009 года
patison
323 / / 15.03.2007
Привет комрады!
Такая траблочка образовалась.. или я чего-то не понимаю, или бродилка взбесилась, или хз что...
Вобщем имеется страница, скажем script.php .
На этой странице выполняется один Очень важный скрипт, после чего производится редирект - header('Location: page.php'); на page.php .
Теперь суть проблемы - попадая на page.php , и жмакая там F5 - производится повторное выполнение скрипта из script.php и возврат на эту страницу .
Всё-бы ничего, но в script.php юзеру начисляется бабло на личный счёт. Соответственно нажимая на page.php (после удачного единоразового пополнения) 100 раз F5 - пополнение баланса происходит 100 раз ...
Почему при обновлении страницы на которую пришли редиректом с другой, выполняется сначала реферер ?

Заранее спасибо.
244
03 сентября 2009 года
UAS
2.0K / / 19.07.2006
Ухах, че ж это за система такая (тем более с баблом), что у вас ф5 отрабатывает. Дайте ссылку, я и без ф5 начислю себе 10000 раз))

Посчет проблемы - я пока чет не соображу. Проблема где-то в скриптах. Проверьте на всякий какие заголовки возвращаются скриптом браузеру.
325
03 сентября 2009 года
Franky
723 / / 10.08.2005
попробуйте
 
Код:
<script language='javascript'>window.location.replace(page.php);</script>
444
04 сентября 2009 года
patison
323 / / 15.03.2007
UAS: Не начислите. На странице сверяется цифровая подпись, присланная платёжной системой, так что если вы хотя-бы один раз не оплатили - то ничего у вас не выйдет.

Franky: Строить защиту используя JS, по понятным причинам, не хотелось-бы.

Не понятен сам факт того, как рефреш страницы, которая загрузилась как результат редиректа с другой страницы, перезагружает предыдущую страницу, которая опять-таки выполняет скрипт и опять-таки сюда-же редиректит.

зы Пожалуй придётся немного переделать скрипт, так что-бы отрабатывался один единственный раз.
444
04 сентября 2009 года
patison
323 / / 15.03.2007
Каким-то таинственным образом бага исчезла. Спишу на усталость и на помешательство бродилки ..
244
04 сентября 2009 года
UAS
2.0K / / 19.07.2006
>>Не начислите. На странице сверяется цифровая подпись, присланная платёжной системой, так что если вы хотя-бы один раз не оплатили - то ничего у вас не выйдет.

Ну так надо значит где-то хранить инфу о только что внесенном платаже, чтобы ф5 не работала. Перемещение на другую страницу - это далеко не идеальная защита.
444
04 сентября 2009 года
patison
323 / / 15.03.2007
Я понимаю это =) И не смотря на то что бага уже исчерпана, думаю сейчас как лучше организовать пополнение только единожды.
325
04 сентября 2009 года
Franky
723 / / 10.08.2005
может скрестить page.php и script.php в один?
444
05 сентября 2009 года
patison
323 / / 15.03.2007
Я тут всё очень упростил.. Еслибы система состояла из 2-3 файлов - то можно.
Но на деле всё немного сложней.. абстрактные page.php и script.php - являются подсистемами, которые скрещивать не столько нежелательно, сколько проблематично. Не буду вдаваться в детали архитектуры =))
40K
06 сентября 2009 года
SHMEL-SH
7 / / 14.09.2008
Можно использовать код ошибки перенаправления 301. и от такого заголовка браузер не будет лезть на предыдущий скрипт от ф5, а будет перегружать только нужную страницу. *не вовремя, но в тему!*
444
06 сентября 2009 года
patison
323 / / 15.03.2007
Хе. спасибо, однако. Малоли, может пригодится =)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог