2014-09-08 15 views
7

Ho riscontrato uno strano comportamento del token CSRF in Laravel 4.2. - il token stava cambiando tra le richieste (non sempre, ma a caso).Laravel 4.2 genera un nuovo token CSRF a seconda delle richieste frequecy?

Per prima cosa ho avuto problemi con la garbage collection o qualche bug in Laravel. E ancora di più: questo accade solo sul server remoto e localmente tutto è OK. Tuttavia, le impostazioni del server e la configurazione della sessione sono le stesse.

La raccolta dei rifiuti in php.ini è disattivata. L'unico GC che funziona è quello avviato da cron ogni 30 minuti, tuttavia, anche questo non si riferisce a questo problema - Ho controllato.

1) Se invio richieste di ajax non frequentemente (ad esempio una volta al secondo), funziona durante ore senza problemi.

2) Quando invio richieste ajax molto spesso durante un breve periodo di tempo (20 volte durante 3-5 secondi), il token viene modificato dopo la 15 o 20 richiesta. A volte anche il 10-esimo.

C'è qualche funzionalità nascosta (non ho trovato che, comunque) che cambia token se assomiglia a richieste "pericolose", controllando la frequenza?

+0

Sto avendo un problema simile, hai trovato una risposta? – Esben

+0

No, non l'ho fatto. Solo qualcosa di strano. – kovpack

+0

È possibile verificare se il token non riesce a convalidare e ne viene creato uno nuovo nella sua posizione? – Piry

risposta

0

Credo che questo sia dovuto al fatto che il driver di sessione file di Laravel non fornisce il blocco. Vorrei suggerire di passare al driver di sessione del database in app\config\session.php e vedere se si ottiene il risultato previsto.

Qui ci sono i documenti rilevanti: http://laravel.com/docs/4.2/session#session-drivers

+0

Questo non ha funzionato, ho ancora lo stesso problema. –