Sécurisé de téléchargement de fichier en PHP, refuser l'utilisateur sans autorisation
Je suis en train de faire un site web où vous pouvez acheter des fichiers de points virtuels, et puis de les télécharger. Je ne veux pas autoriser les utilisateurs à télécharger les fichiers sans l'acheter, donc je dois les cacher. J'ai mis tous les fichiers dans un dossier sans l'autorisation pour quiconque à l'exception de l'hôte, le problème, c'est quand quelqu'un achète un fichier et veut le télécharger.
J'ai décidé de faire une fiche de lecture, qui permettra de vérifier les autorisations de l'utilisateur et ensuite imprimer le contenu du fichier. Mon code pour l'instant:
<?php
require_once('content/requirements.php'); //mysql connections
secure(1); //disconnect unlogged users
if (!isset($_GET['id'])) //if no file id provided
die();
$fid=mysql_real_escape_string($_GET['id']); //file id
$query="SELECT * FROM files WHERE user_id = "$_SESSION['user_id']." AND file_id = ".$id;
$q=mysql_query($query);
if (mysql_num_rows($q)!=1) //if no permission for file or multipe files returned
die();
$file=mysql_fetch_array($q); //file id
$sub=mysql_fetch_array(mysql_query("SELECT * FROM sub WHERE id = ".$file['file_id'])); //payment id
?>
Maintenant, quand je suis sûr que l'utilisateur est autorisé à le faire, phpScript d'écrire le contenu du fichier et de l'envoyer approprié d'en-tête pour permettre à l'utilisateur de télécharger.
Comment lire un fichier octet par octet, et de l'imprimer et que dois-je écrire dans l'en-tête(), afin de rendre le fichier téléchargeable (si vous n'avez pas à copypaste son contenu).
Peut-être que ce n'est pas la meilleure façon de le faire, mais c'était la meilleure chose que j'ai pensé à un moment.
Merci pour toute aide.
- L'utilisation de google. Il y a des millions d'explications à ce sujet.
- Essayez de googler "SQL injection" pendant que vous y êtes.
Vous devez vous connecter pour publier un commentaire.
de readfile doc php
Il y a beaucoup de script disponible sur google, voici quelques liens:
http://www.tutorialchip.com/php-download-file-script
http://www.webinfopedia.com/php-file-download-script.html