Bonjour,
J'ai un site web qui doit être protégé temporairement par un login et un mot de passe.
J'ai donc mis en place un htaccess:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
AuthUserFile /.../.htpasswd_WallProtDB
AuthName "Protected"
AuthType Basic
Require valid-user
Bref, très classique et qui marche très bien pour l'affichage.

Là où ça se corse, c'est qu'on peut exporter des données de ce site écrit avec le framework CodeIgniter.

Pour exporter, on sélectionne les données, on clique sur un bouton export et un fichier se crée dans un dossier assets/tmp, assets étant au même niveau que le dossier application et contenant par ailleurs les feuilles de style, le javascript, etc... qui ne posent aucun problème.

Le fichier se cree bien. Un lien apparait alors sur la page et l'utilisateur peut charger son fichier.
Or ce qu'il télécharge contient non pas le fichier qui s'est créé, mais l'erreur suivante:
readfile(http://.../webSite//assets/tmp/expt3.txt): failed to open stream: HTTP request failed! HTTP/1.1 401 Authorization Required
Filename: controllers/download.php

download.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
public function index($filename)
	{
		$f=$this->config->item('base_url').'/assets/tmp/'.$filename;
		header("Content-type: application/force-download");
		header("Content-Disposition: attachment; filename=$filename");
		readfile($f); //ligne de l'erreur
	}
Je suppose que qu'il faut utiliser les rewrite, mais je ne vois vraiment pas comment...
Si quelqu'un a un bout de réponse, je l'en remercie vivement,

Sohnic