protéger un dossier (.htaccess et forcer le telechargemet)

Mammouth du PHP | 1311 Messages

11 févr. 2005, 10:42

salut

je voudrai protéger un repertoire ou se trouve des fichier à telechager
par un hthacces ou autre.
en ce moment, a partir d'une zone priver on peut telecharger ces fichiers
donc je voudrai que seul les gens logué ai la possibilité de telecharger ces lien.

merci
Modifié en dernier par jeff le 12 févr. 2005, 02:42, modifié 1 fois.

Mammouth du PHP | 1311 Messages

11 févr. 2005, 12:19

est-il possible de faire converser php et htaccess
en gros d'envoyer mon login et mon password au htaccess
sans que l'utilisateut n'ai rien a faire??

Dux
Eléphant du PHP | 127 Messages

11 févr. 2005, 13:50

salut,

suivant les droits d'acces au .htpassword, tu peux écrire dedans avec le PHP

Invité
Invité n'ayant pas de compte PHPfrance

11 févr. 2005, 13:53

en rechant
j'ai trouver ca
pour ton problème de départ, je pense aussi que le mieux c'est opendir, en mettant tes fichiers dans un dossier avec un .htacces Deny From All et d'y accéder via PHP uniquement
mais j'aimerai avoir un peu plus de detail

je croi que la solution de dux est plus simple et plus sur?

Dux
Eléphant du PHP | 127 Messages

11 févr. 2005, 14:23

ecrit simplement: deny from all
dans un fichier .htaccess et il sera normalement impossible d'accéder à tes photos sans passer par un script de ton site

Mammouth du PHP | 1311 Messages

11 févr. 2005, 18:11

j'ai mis un htaccess avec deny from all dans mon rep a protéger
forcement je n'est plus acces avec mes liens

est ce que si j'ouvre mon rep et que force le telechargement avec un header
est ce que cela peut fonctionner

Administrateur PHPfrance
Administrateur PHPfrance | 250 Messages

11 févr. 2005, 21:59

oui :)

Mammouth du PHP | 1311 Messages

11 févr. 2005, 22:08

le pb c'est que je suis dans du html pour faire le header :?
a moins que passe mon chemin par les sessions et que je force avant l'entete html
mouais :)
merci

Mammouth du PHP | 1311 Messages

11 févr. 2005, 22:41

bon
j'ai un petit probleme au lieu de forcer le telechargement cela ouvre mon
archive rar
	echo "debugue";
	echo $_SESSION['path'];
		if($dir=opendir('../Upload/ds/'))
		{
		header("Content-type: application/force-download");
		header("Content-Length: ".filesize($_SESSION['path']));
		readfile($_SESSION['path']);
		}
		else{echo "fichier".$_SESSION['path']."n'existe pas";}
}
:(

Mammouth du PHP | 1311 Messages

11 févr. 2005, 23:45

bon apparement ca fonctionne par contre ma solution n'est pas tres prope
pour la transmision de la variable un reloade en js
comme ce type de post est reccurent dans d'autre phorum et que phpfrance ce reconstruit je laisse monmon code pout forcer le dl (y a une faq?)
if($dir=opendir('$chemin'))
		{
		$monfichier =$_SESSION['path'];
		header("Content-type: application/force-download");
		header("Content-Transfer-Encoding: rar");
		header("Content-Type: application/octet-stream");
		header("Content-Length: ".filesize($monfichier));
		header("Content-Disposition: attachment; filename=".$monfichier);
		readfile($monfichier);
		}
salut et merci

Invité
Invité n'ayant pas de compte PHPfrance

13 févr. 2005, 21:33

pour le deny from all, essyae de changer les droits de ton script.

Sinon pour le header content-type, essayes Binary à la place de rar