Page 1 sur 1
un peu pomé , ecrire dans un dossier protégé par .HTACCESS
Posté : 21 mars 2009, 16:40
par Pascal_B
bonjour à tous,
etant novice en php je suis un peu perdu

voila j'ai un petit script php qui me permet d'uploader des image dans un dossier sur un serveur , jusque la ca roule
j'ai voulu protégé se dossier par un fichier .htaccess j'arrive bien a me logger pour y acceder mais souci maintenant quand je veux uploder une image ben le script s'arrete et me demande le login et mdp !!!!! c'est pas le pied !!

je cherche comment faire pour autoriser directement le script php a ecrire dans le dossier soit en contournant le .htaccess soit en s'authentifiant .
je suis un peu pomé car je n'ai rien trouvé de concret sur la toile , concernant ça .
en esperant que vous pourrez m'aider dans ma recherche .....
cdt Pascal
Posté : 21 mars 2009, 17:01
par julian
Le répertoire protégé est celui dans lequel tu upload, depuis une page dans un répertoire non protégé ? Ou tu upload depuis une page du répertoire protégé, vers ce même répertoire protégé ?
Posté : 21 mars 2009, 21:55
par Pascal_B
bonsoir,
j'ouvre une page php ou j'ai un script qui me permet d'up une image , celle ci est enregistré dans un dossier a la racine du serveur , appelons se dossier "images/" donc j'ia mis mon fichier .htaccess dans le dossier image ça en bloque donc l'access mais le script enregistre les images dans le meme dossier qui lui est bloqué donc au moment d'enregistré le fichier je me retrouve avec une fenetre par dessus mon navigateur qui me demande le login et le mdp de .htaccess .......
Posté : 21 mars 2009, 22:29
par Aureusms
Le plus simple est que tu upload ton fichier dans un répertoire non protégé puis tu le déplaces après dans ton dossier protégé (le tout bien sûr après vérification). Utilise rename() pour le faire. Le fait de renommer le fichier vers une autre destination va le déplacer. Sinon tu utiliseras copy() + unlink(); qui te donnera la même chose.
Posté : 22 mars 2009, 00:51
par Pascal_B
Oui mais je veux protégé l'access à se dossier 'upload/' pour le moment j'ai un script de redirection , en fait si tu tape
http://adressedusite.com/upload tu est automatiquement renvoyé sur la page
http://adressedusite.com
Posté : 22 mars 2009, 15:08
par julian
Le htaccess permet de restreindre l'accès à un dossier avec pas mal de conditions.
Là je pense qu'il ne faut pas que tu bloques ton dossier avec un login/pwd.
Et dans le htaccess tu bloque le dossier en question, et tu autorise l'accès seulement pour l'IP du serveur (Pour que ton script puisse uploader)
Posté : 22 mars 2009, 17:58
par Ryle
Le problème n'est pas lié à l'enregistrement des fichiers dans le dossier (le htaccess n'en gère/protège le contenu qu'en "accès")
En gros, si au moment où tu upload ton fichier, on te demande un login/mdp, c'est parce que le script que tu appelles et qui doit gérer le chargement du fichier se trouve également dans le dossier qui est protégé...
Il suffirait donc à première vue de sortir ton script d'upload de ce dossier et de le mettre n'importe où sur ton site pour qu'aucun mot de passe ne te soit demandé lors de l'upload de fichier. Il suffit ensuite de stocker le fichier transmis dans le dossier protégé par ton htaccess en spécifiant son chemin dans ton move_uploaded_file().
PHP a tout à fait le droit d'écrire dans un dossier protégé par htaccess, il peut sans problème y stocker les fichiers que tu transmets, ton htaccess en restreignant/interdisant quant à lui l'accès aux fichiers par les internautes

Posté : 23 mars 2009, 22:35
par Invité
a premiere vu c'est mon affichage de l'image qui fout le dawa ,
une fois l'image uploadé le script affiche en mini l'image uploadé mais la elle affiche un carré vide et demande l'access au fichier , en fait je crois qu'il faut que j'autorise mon script d'affichage a lire l'image
Posté : 24 mars 2009, 02:47
par AB
Si tu protège tes photos dans un dossier avec un .htaccess, tu ne pourras évidemment plus y avoir accès en donnant simplement l'adresse de l'image. Il te faudra passer par un script php dans le genre
header("Content-Type: image/jpeg");
readfile("adresse_de_ton_image");