Bonjour, <br>
J'ai des fichiers (pdf) stockés dans un dossier.
Ces fichiers, ne doivent pas être accessibles par le public, mais que par le biais du backoffice (ces pdf ont des informations importantes pour les staffs, c'est une sorte de "rapport"). <br>
Je souhaite donc créer dans la partie backoffice, un button qui dirigera vers le lien de ce pdf. <br>
J'aimerai qu'à chaque vision, le nom de ce pdf change afin qu'il soit introuvable. <br>
J'avais eu l'idée, avec la tamporisation de rediriger ce staff sur la page (exemple 12635.pdf) puis renommé ce fichier.
J'ai juste besoin d'un coup de pouce sur cette petite partie. <br>
Ce code pourrait être réutilisé pour exemple des factures pour les clients...
<br>
Merci pour vos idées.
Tu n'est pas obliger de renomé ton fichier a chaque fois.
Tu lui donne un nom unique avec un accès restreint
Et pour les membres du staff tu leur donne une url qui change automatique avec dans le code l'accès au PDF :
// Vérification de la connexion
$content = file_get_contents($file); // $file est le chemin d'accès au fichier qui ne change pas
header("Content-Disposition: inline; filename=$file");
header("Content-type: application/pdf");
header('Cache-Control: private, max-age=0, must-revalidate');
header('Pragma: public');
echo $content;
Merci beucoup, si un jours une personne souhaite avoir ce style de système.
J'ai créé un lien, qui dirige vers une autre page, avec une key d'envoyé (?key=...).
Pour générer la key :
$bytes = openssl_random_pseudo_bytes(8);
$key = bin2hex($bytes);
La key peut être stocké en base de donnée ou dans une session flash.
Les pages de traitements ont les sécurités staff.
Vérification que la key existe, et quelle est bonne (session ou base de donnée), si oui affiche le pdf.
Ou alors, tu peux tout simplement faire une fonction qui génèrera le fichier PDF voulu sur la page de l'action.
Je préfère garder cette solution, le pdf doit être gardé pour des archives.
Et il est déjà généré automatiquement.
Tu n'as pas compris ce que je voulais dire.
Je te parlais de génération pour l'affichage, ce qui veut dire, qu'en réalité il n'est pas stocké sur le serveur, du coup, seule la personne qui effectue l'action verra le fichier, ce qui augmente la sécurité des données.
Ah oui en effet, merci également de ton idée.
J'ai bloqué l'accès au dossier avec un .htaccess, je pense que mon système suffit afin que les utilisateurs ne peuvent pas trouver le fichier.
La génération est sécurisé par une session propre aux staffs^^
Merci à vous.