2015-04-16 14 views
7

Wenn ich eine POST-Anfrage mache, ohne Formular zu verwenden und einen CSRF-Angriff verhindern möchte, kann ich das csrf-Token im Meta-Tag setzen und es in die Kopfzeile zurückstellen, wenn die Anfrage ausgelöst wird. Ist es eine gute Übung?Ist es eine gute Praxis, das csrf-Token im Meta-Tag zu speichern?

$.ajaxSetup({ 
    headers: { 
     'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 
    } 
}); 

Antwort

4

Ja, das ist eine gute Praxis:

<meta name="csrf-token" content="xxx"> 

das Token über den Header mit JQuery zum Beispiel wieder einsetzen. Wenn Sie Ajax verwenden, denke ich, dass dies die sauberste Lösung ist.

Sie könnten das Token auch in das Formular einfügen (was bequemer ist, wenn Sie das ganze Formular einreichen), aber wenn Sie Ajax verwenden, muss es nur irgendwo hingehen, wo Sie es greifen können.

in einem versteckten Feld oder in einem Meta-Tag sind beide sehr gute Optionen.

Verwandte Themen