Using Session to limit form submission by time

php

Solution

You have two problems. Firstly, on the first execution you are setting the session value to `time()`, so the first try will always produce the limit exceeded error. The second problem is you have a typo in `$_SESION`.

Try:

session_start();

if (isset($_SESSION['last_submit']) && time()-$_SESSION['last_submit'] < 60)
    die('Post limit exceeded. Please wait at least 60 seconds');
else
    $_SESSION['last_submit'] = time();

Also it should be noted that is this not foolproof because users can refuse cookies or delete the session cookie, in order to bypass your check.

Problem

I have spent over 2 hours scouring the net trying to figure this out. I am trying to stop multiple form submission any faster than 60 seconds. Here is what I am using. ``` session_start(); if (!isset($_SESSION['last_submit'])) $_SESSION['last_submit'] = time(); if (time()-$_SESSION['last_submit'] < 60) die('Post limit exceeded. Please wait at least 60 seconds'); else $_SESION['last_submit'] = time(); ``` I found this bit here on the site but haven't been able to figure anything else out as far as getting it to work. I have this bit of code on my page at the beginning that does the DB query with the previous pages POST results. Do I need to set `$last_submit` to a certain value? Any help is appreciated.

Original source