Запрет на обновление страницы

Тема в разделе "PHP", создана пользователем irk, 28 мар 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. irk

    irk Постоялец

    Регистр.:
    18 май 2009
    Сообщения:
    87
    Симпатии:
    1
    Ребят, может вопрос нубский, но все же... Как запретить юзеру часто обновлять страницу по F5, Ctrl+R или любым другим образом?
    Или ограничить число обновлений страницы на сессию? Просто трафик слишком большой идет, проблема в том, что данные не кэшируются..

    Например после 3-х обновлений - hacking attempt...или что то типо того
     
  2. UDAV

    UDAV

    Регистр.:
    22 июн 2007
    Сообщения:
    780
    Симпатии:
    153
    Нашел на одном сайте.
    PHP:
    <html>
    <
    head>
    </
    head>
    <
    body onLoad="if(C1.checked==true){document.write('<b>');alert('Обновление страницы запрещено!');window.close()}else{C1.checked=true}">
    <
    div style="position: absolute; left: -100px">
    <
    input type="checkbox" name="C1">
    </
    div>
    Страница
    </body>
    </
    html>
     
    irk нравится это.
  3. irk

    irk Постоялец

    Регистр.:
    18 май 2009
    Сообщения:
    87
    Симпатии:
    1
    спасибо, проверил..но мне не помогло :( еще есть варианты?
     
  4. zss

    zss Постоялец

    Регистр.:
    22 июн 2007
    Сообщения:
    55
    Симпатии:
    6
    Можно попробовать использовать событие onBeforeUnload:
    <body onBeforeUnload="return false;">
    Тогда при закрытии страницы будет выводиться диалог с вопросом,
    а действительно ли ее надо закрывать.
     
    irk нравится это.
  5. Kloster

    Kloster

    Регистр.:
    22 июн 2009
    Сообщения:
    216
    Симпатии:
    12
    Мне кажется, нельзя запретить обновление на стороне пользователя, ведь это делается броузером, как на него повлияешь? Тем более, я могу открыть 10 закладок с одной страницей и их обновлять.
    Если и делать, то на стороне сервера, вести лог обращений по сессии, если с последнего обращения прошло меньше заданного времени, то просто выдавать ошибку и все.
    Так делает, например, нуллед при поиске, если отправлять запросы слишком часто.
    Ну и чистить таблицу с логами не забывать.
     
    irk нравится это.
  6. vivid

    vivid Постоялец

    Регистр.:
    13 апр 2009
    Сообщения:
    143
    Симпатии:
    18
    я так понимаю что б не грузило сервер. можно кешировать страницы по УРЛу и по идентификатору пользователя. F5 - и пользователь получает старую страницу... если таймстамп старый (более 10 минут, к примеру) значит можно сгенерить новую страницу.
     
    irk нравится это.
  7. anon99

    anon99 Создатель

    Регистр.:
    3 апр 2010
    Сообщения:
    13
    Симпатии:
    2
    Решения на javascript не помогут, так как его всегда можно отключить.
    PHP тоже не справиться с этой задачей.
    irk, тебе нужно кавырять свой Апач и его модули. По моему был вроде модуль для таких целей...
     
    irk нравится это.
  8. irk

    irk Постоялец

    Регистр.:
    18 май 2009
    Сообщения:
    87
    Симпатии:
    1
    Сделал для себя вывод - проще всего прикрутить кэширование! Всем большое спасибо!
     
Статус темы:
Закрыта.