Bonjour à tous
Désolé, ceci est en partie DEV, mais y'a une partie système que je connais moins bien et qui doit surement répondre à une partie au moins de ma question.
Je gère l'intranet de ma boite j'ai dessus un petit service de stockage et partage de fichiers entre nous et nos clients. Au début tout allez bien avec des fichiers pas plus gros que 500mo ... depuis qq temps, on approche des 1go ou 2go régulièrement. L'upload ne pose pas de soucis : je passe par un petit script perl qui turbine pas mal du tout.
Le soucis est au téléchargement qui est effectuer en PHP. Les fichiers sont stockers sous la racine public_html (sécurité oblige hein) et c'est donc un script PHP qui fais un simple readfile(); suivit d'un exit.
Avec une connexion lente et/ou un gros fichiers, il arrive que le téléchargement se bloque.
Je voudrais utiliser apache ou ftp pour le téléchargement tout en conservant les fichiers stocker au même endroit.
Comment faire ?
Je suis en train de test un système de liens symboliques que je supprimerai après genre x heures. Mais c'est pas très sécurisé si un veux qu'une seul personne puisse accéder au lien.
Merci d'avance pour vos idées :)
Je suis désolé si ceci est trop dev pour vous, je recommencerai pas... mais vue l'activité de la liste ... me suis dit que mieux ça que rien ... quoique ? ;-)
Sky_G.
2010/8/5 Sky Gunning sky.gunning@gmail.com:
Les fichiers sont stockers sous la racine public_html (sécurité oblige hein)
Pourquoi ne pas les stocker dans un sous dossier de public_html justement, et y accéder directement (apache saura très bien faire pour le coup) dans un dossier avec un .htaccess contenant un "SetHandler default-handler" ? Tu peux bien sur empêcher le directory listing, et tu peux éviter que les gens essayent de deviner les noms des fichiers en les mettant chacun dans un dossier au nom aléatoire. (mais sans renommer le fichier, l'url est plus cohérente)
-- Julien Palard - CTO à Eeple - julien@eeple.fr Mobile : +33 (0)6 21 19 49 10 Office : +33 (0)1 83 62 00 85 http://www.eeple.fr
Pourquoi ne pas les stocker dans un sous dossier de public_html justement, et y accéder directement (apache saura très bien faire pour le coup) dans un dossier avec un .htaccess contenant un "SetHandler default-handler" ?
Les .htaccess c'est mal
2010/8/5 Julien Palard frsag@mandark.fr:
2010/8/5 Sky Gunning sky.gunning@gmail.com:
Les fichiers sont stockers sous la racine public_html (sécurité oblige hein)
Pourquoi ne pas les stocker dans un sous dossier de public_html justement, et y accéder directement (apache saura très bien faire pour le coup) dans un dossier avec un .htaccess contenant un "SetHandler default-handler" ? Tu peux bien sur empêcher le directory listing, et tu peux éviter que les gens essayent de deviner les noms des fichiers en les mettant chacun dans un dossier au nom aléatoire. (mais sans renommer le fichier, l'url est plus cohérente)
Security Through Obscurity Only.
Pratique à bannir absolument.
Florian MAURY (X_Cli sur le chan ; merci pour le hilight Sky_G)
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Bonsoir tout le monde,
Julien Palard a écrit :
[...crouic...]
Tu peux bien sur empêcher le directory listing, et tu peux éviter que les gens essayent de deviner les noms des fichiers en les mettant chacun dans un dossier au nom aléatoire. (mais sans renommer le fichier, l'url est plus cohérente)
Pour le nom de fichier, je renomme avec le haché (MD5, SHA1...).
HTH,
pc
- -- Pascal CABAUD ------------ http://www.eila.univ-paris-diderot.fr/~pc/ UFR EILA - Universite Paris Diderot 5 rue Watt, 210 tel: (33) 01-57-27-56-53 / 06-10-21-95-96 case 7002 75205 Paris Cedex 13
2010/8/5 Pascal Cabaud pc@eila.univ-paris-diderot.fr:
Pour le nom de fichier, je renomme avec le haché (MD5, SHA1...).
C'est ce que je disais de ne pas faire :p
Hello,
NginX + entête x-accel-redirect ? C'est ce qu'on fait en prod sur les sites de videos à accès restreint.
D'ailleurs d'après la doc [1] il y aurait le module xsendfile pour Apache2 qui ferait la même chose.
Olivier
[1] http://wiki.nginx.org/NginxXSendfile
Le 05/08/2010 14:10, Sky Gunning a écrit :
Bonjour à tous
Désolé, ceci est en partie DEV, mais y'a une partie système que je connais moins bien et qui doit surement répondre à une partie au moins de ma question.
Je gère l'intranet de ma boite j'ai dessus un petit service de stockage et partage de fichiers entre nous et nos clients. Au début tout allez bien avec des fichiers pas plus gros que 500mo ... depuis qq temps, on approche des 1go ou 2go régulièrement. L'upload ne pose pas de soucis : je passe par un petit script perl qui turbine pas mal du tout.
Le soucis est au téléchargement qui est effectuer en PHP. Les fichiers sont stockers sous la racine public_html (sécurité oblige hein) et c'est donc un script PHP qui fais un simple readfile(); suivit d'un exit.
Avec une connexion lente et/ou un gros fichiers, il arrive que le téléchargement se bloque.
Je voudrais utiliser apache ou ftp pour le téléchargement tout en conservant les fichiers stocker au même endroit.
Comment faire ?
Je suis en train de test un système de liens symboliques que je supprimerai après genre x heures. Mais c'est pas très sécurisé si un veux qu'une seul personne puisse accéder au lien.
Merci d'avance pour vos idées :)
Je suis désolé si ceci est trop dev pour vous, je recommencerai pas... mais vue l'activité de la liste ... me suis dit que mieux ça que rien ... quoique ? ;-)
Sky_G. _______________________________________________ FRsaG mailing list FRsaG@frsag.org http://www.frsag.org/mailman/listinfo/frsag
Bonjour
2010/8/5 Olivier Bonvalet frsag.list@daevel.fr
Hello,
NginX + entête x-accel-redirect ? C'est ce qu'on fait en prod sur les sites de videos à accès restreint.
D'ailleurs d'après la doc [1] il y aurait le module xsendfile pour Apache2 qui ferait la même chose.
Je suis justement en train de mettre en place xsendfile sur apache2. Les premiers tests sont concluant. Me reste juste à confirmer avec un des clients qui a des soucis.
Olivier
Ca fonctionne aussi bien en htaccess qu'en header PHP direct. C'est vraiment nikel comme truc.
Merci à tous. (et X_Cli sur l'IRC qui a eu la même idée :))