Bonjour,
Je suis entraine développer un système de musique sur mon site. Pour des raison de téléchargements j'ai généré un token aléatoire et que j'ai mis dans la session de l'utilisateur. Se token change à chaque changement de page.
Voici le débug de la session :
array(
'Config' => array(
'userAgent' => 'xxxx',
'time' => (int) 1393027548,
'countdown' => (int) 10,
'accessToken' => 'ee6d9322b53c399c4088274b16bdc0da'
)
)
J'ai mis un fichier .htacess dans le dossier audios.
localhost:8888/files/audios/1/1.mp3?token=ee6d9322b53c399c4088274b16bdc0da&time=1393027548
Le problème est que je veux que le fichier .htaccess vérifie les paramètres de l'url et vérifie que ceux-ci soit identique à la session. Si non tu bloque.
Ça fait longtemps que je veux fairer un telle système et j'y n'arrive pas.
Merci de votre aide.
Bonsoir.
Dis moi, le fichier de musique, c'est uniquement pour donner accès au téléchargement ou aussi pour l'écoute du fichier sur ton site ?
Il te suffit alors de faire un .htaccess qui empêche toute navigation par l'utilisateur dans le dossier files et pour le téléchargement du fichier, tu peux faire quelque chose comme ça :
Dans ton controller
public function download($id = null){
if($this->request->is('post') && !empty($id)){
$file = $this->Musique->find('first', array('conditions' => array('id' => $id)));
$this->response->file($file'Musique']'path'], array('download' => true, 'name' => $file'Musique']'name']));
return $this->response->file;
} else {
trow new MethodNotAllowedException();
}
}
Dans la vue
<?= $this->Form->postButton('Télécharger le fichier', array('action' => 'download', 'id' => $musique'Musique']'id'])); ?>
De cette manière, l'utilisateur peut télécharger le fichier sans voir le chemin du fichier, étant donné qu'il ne peut voir que l'ID de l'enregistrement dans le code source et dès qu'il clique sur le bouton, ça lui ouvre l'explorateur tout en restant sur la page actuelle et sans charger une autre page.
Du coup, tu permets le téléchargement du/des fichier(s), sans lui donner la possibilité de connaitre le chemin de fichier et si en plus comme je te l'ai dit plus haut tu sécurise le contenu du dossier sur la navigation, ça te permet une double sécurité.
Je veux que les gens écoute la musique et si il copie cette url :
localhost:8888/files/audios/1/1.mp3?token=ee6d9322b53c399c4088274b16bdc0da&time=1393027548
Je veux vérifier les paramètres et voir si il sons bonne avec la session de l'utilisateur si non tu bloque l'accès
Je sais utiliser les balise audios
Je t'ai déjà donné la réponse à cette question.
Je veux bien t'aider et te mettre sur la voie, mais je ne vais quand même pas coder ton site à ta place.
Dans mon fichier .htacces est je met
cette commende :
deny from all
Pour bloquer les navigation dans le fichier file par exemple