разместить ограничения на указанный период времени? - PullRequest
1 голос
/ 28 декабря 2010

Приношу свои извинения, если я что-то здесь упустил, но сейчас я ищу php-код, который ограничивает количество публикаций после указанного периода. так, например, что после нажатия кнопки отправки он сможет отправить снова через x раз, я был бы признателен, если бы кто-нибудь, кто дает инструкции, указатели, примеры URL-адресов или некоторые коды, помог бы мне, заранее спасибо ...

Ответы [ 2 ]

3 голосов
/ 28 декабря 2010

Ну, вам нужно сохранить последний раз, когда кто-то отправил POST куда-нибудь.У вас есть несколько вариантов:

В куки - это не так безопасно, как другие опции, так как клиент может манипулировать / удалять куки.

В сеансе сервера ($ _SESSION) - это самый простой способ, поскольку вам не нужно отслеживать конкретного клиента по IP или что-то в этом роде.

В базе данных - Это самый гибкий способ, вы можете легко видеть и управлять своими клиентами.

Каждый раз, когда кто-то делает POST, проверяйте ваше хранилище, когда он в последний раз делал сообщение, и отклоняйте его, если это скоро произойдет..

Вы также можете сделать это на стороне клиента, используя JavaScript.Однако это не так безопасно, так как клиент может отключить / манипулировать им.

1 голос
/ 28 декабря 2010

Один из методов - отключить кнопку отправки, используя javascript, например:

<form id="myform" name="myform" onsubmit="disableForATime();">
     <!-- form elements -->
     <input type="submit" value="Submit" id="submitButton" name="submitButton"/>
</form>

<script type="text/javascript">
      function disableForATime(){
             document.getElementById('submitButton').setAttribute('enabled', false);
             setTimeout(enableSubmit, 5000); //modify 5000 to be the number of milliseconds you would like to disable the button for.        
      }

      function enableSubmit(){
             document.getElementById('submitButton').setAttribute('enabled', true);
      }

</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...