Bonjour à tous,
Chez mon hébergeur pour mon site de prod, je peux créer des taches cron, en précisant l'url à lancer.
Sur mon site, dans l'espace admin, j'ai une fonction qui fait un dump de ma base mysql et me l'envoie par mail.
ça marche bien manuellement, quand je clique sur mon lien dans mon menu admin, ça exécute le code de ma fonction et m'envoie le mail.
Ainsi, à ma demande, j'ai une sauvegarde de ma base dans mes mails, au cas où un jour j'en aurais besoin...
Maintenant, je veux automatiser cette fonction en la mettant dans une tâche cron.
Problème : Il faut que je sois connecté en admin sur mon site pour pouvoir lancer cette fonction.
En testant en prod ma tâche cron, ça me renvoit comme résultat mon redirect vers ma page de connection pour que je me logue en admin.
C'est normal, c'est ce que j'ai défini dans mon fichier security.yaml, pour pas que les visiteurs aient accès à mon espace admin, avec, entre autres, cette fonction.
Maintenant, je ne vois pas comment faire :
- Laisser ma fonction côté admin : Je ne vois pas du tout comment ça serait possible, mais y a t'il une configuration à mettre dans mon security.yaml pour permettre l'exécution de cette fonction quand elle est exécutée à partir de la tâche cron ?
- Mettre ma fonction côté visiteur, sans lien sur mon site, où je serai le seul à connaitre l'url : Si un jour un visiteur ou un hackeur découvre que ce lien existe, il peut m'inonder de mails s'il exécute plein de fois mon url, ce que je veux éviter. Et d'autre part, est ce que les robots des moteurs de recherches passeront pas cette url, ce qui générera l'envoi d'un mail à chaque fois, ce que je veux aussi éviter ?
Merci d'avance pour vos aides et idées !
Edit : orthographe dans le titre
Partager