TokenMismatchException nella row VerifyCsrfToken.php 46

Sto cercando di submit un module utilizzando il metodo curl post. Ho impostato correttamente il token csrf nel module.

<form action="{{URL::route('the-route')}}" method="post"><input name="_token" type="hidden" value="{{csrf_token()}}"> 

Ma mostra TokenMismatchException in VerifyCsrfToken.php line 46: bloccato su di esso utilizzando l'hosting condiviso, includo il mio progetto larvel 5 nella cartella myapp e laravel public cartella laravel public in public_html

Come test ho anche provato come alcuni altri post hanno suggerito di commentare App\Http\Middleware\VerifyCsrfToken , in app/Http/kernal.php per vedere cosa sarebbe successo. Dopo averlo fatto each volta che invio un module, ricevo un messaggio che dice di redirect a: /auth/login o /auth/register seconda di where provengo senza successo.

Ho trovato la soluzione migliore per me. Quello che devi fare è:

Vai a -> app -> Eccezioni -> Handler.php

e copia e incolla questo nel tuo metodo di rendering:

 public function render($request, Exception $e) { if ($e instanceof TokenMismatchException) { Auth::logout(); return redirect('login')->withErrors('Sorry, your session has expired. Please login again.'); } return parent::render($request, $e); } 

Questo gestirà la TokenMismatchException per te e visualizzerà un messaggio amichevole nella pagina :). Spero che aiuti chiunque là fuori!

 I just got it working removing the line: 'Illuminate\Foundation\Http\Middleware\VerifyCsrfToken' from /app/Http/Resquests/Kernel.php 

grazie a @Mahmoud Nassar

Ho risolto il mio problema:

nel mio caso rimuovo 'Illuminate\Foundation\Http\Middleware\VerifyCsrfToken' app/Http/kernal.php ma non funziona, ma questa è la migliore soluzione di TokenMismatchException in VerifyCsrfToken.php line 46

ho ospitato laravel 5 in un hosting condiviso, come test ho anche provato come alcuni altri post suggeriti commentando cambiare la mia struttura di cartelle creare una cartella all'esterno public_html e aggiungere file in quella cartella quindi mettere la cartella public(laravel) in public_html dopo averlo fatto questo each volta che invio un module ottengo un messaggio che dice di redirect a: / auth / login o / auth / register a seconda di where provengo senza successo.

quindi cancello tutti i file e le cartelle includono la mia app e laravel

infine creo laravel 5 in public_html e aggiungo il seguente codice in .htaccess (se non esiste crea un .htaccess nella directory radice di laravel)

  RewriteEngine On RewriteRule ^(.*)$ public/$1 [L] 

questo .htaccess ti aiuta a rimuovere il public dall'URL