Recently, I was looking for a way to deploy a Laravel application with ease and no headache. After some time, I wrote a very basic Bash script to automate the common deployment tasks: pulling changes from Git, installing Composer dependencies, building NPM scripts, running migrations and so on. But it was still feeling primitive. There had to be a better way.
Category: PHP
As part of my Software Verification and Testing class at Concordia University, my team and I chose to study empirically the performance of some popular Laravel applications. The goal was to replicate the paper “How not to structure your database-backed web applications: a study of performance bugs in the wild” by Junwen Yang et al.
Lors d’une requête POST en Ajax sous Laravel 5, il faut passer le jeton CSRF sous peine de recevoir une erreur de TokenMismatch, la protection contre les failles CSRF s’activant. Pour ce faire, je ne trouve pas la documentation très simple, alors qu’il suffit de passer l’attribut ‘_token’ dans le champ data (sous jQuery).
Ainsi, il n’y a qu’une ligne à rajouter :
$.ajax({
type: "POST",
url: "{{ url('/votre-url') }}",
data: {
...
_token: "{!! csrf_token() !!}"
}
})
Une alternative consiste à rajouter le champ complet contenant le jeton dans le fichier de template adéquat :
{!! csrf_field() !!}
Puis de recopier un code similaire au précédent, à ceci près qu’il ira chercher le code rajouté plus haut dans la page :
$.ajax({
type: "POST",
url: "{{ url('/votre-url') }}",
data: {
...
_token: $('meta[name="csrf-token"]').attr('content')
}
})