Hello à tous,

petite question concernant Laravel et Axios. Il y'a moyen de masquer, crypter ou je ne sais quoi les calls qui sont effectués vers le back afin d'éviter que les petits malins ne voient ce qui passe ... ?

Merci d'avance :)

4 réponses


non xd (enfin on peut toujours faire ça mais faut y voir l'intérêt)

que veux-tu protéger qui ne peux pas être fait en vérifiant côté serveur que la personne à les droits ?

Ben, de toutes façon, l'utilisateur ne peux pas voir les call vers le back, donc aucun intêret

Je pense qu'il parle des requêtes http qu'il fait avec axios (fetch) et qui eux se voit en ouvrant l'inspecteur et en allant dans l'onglet réseau (network)

Hello :)

C'est possible oui, tu peux crypter les données depuis Laravel, en base de données tu stockes la valeur cryptée et tu ne décryptes que au moment d'afficher les données

Pour Axios tu peux crypter mais il faut que tu utilises dot-env (la clé de cryptage c'est le APP_KEY dans le .env) par contre il faut que tu changes un peu l'infra pouru ne pas afficher la clé en front, avec un github action par ex, si tu es sur AWS le plus simple serait de faire une Lambda, ton axios va encrypter avec sa clé à elle et appeler la Lambda, ta Lambda va récupérer les données cryptées et la décrypter avec la clé Axios, puis elle va la recrypter avec la clé Laravel (APP_KEY) et l'envoyer au serveur, et a la fin il va renvoyer une réponse à Axios pour lui dire "C'est fait!" ou 'Y a un problème!"

Sinon si tu ne peux pas utiliser Lambda (enfin si tu ne veut pas pck c'est payant xD) tu peux utiliser dot-env et github-secrets, tu créées un job en Laravel et un github-action pour lancer le job

En gros en JS classique c'est impossible de crypter, parce que forcément ton JS va afficher la clé d'encryption quelque part, ton JS doit déléguer le process à un autre service pour régler ce problème (AWS Lambda ou Github Actions)

Après je t'ai donné une solution théorisue, il faudrait que tu montres ton code axios pour voir ce qui est envoyé et comment c'est envoyé pouur voir si c'est possible de déléguer