<input type="file"> ne fonctionne pas en https
Résolu/FermébriocheOchoco Messages postés 7 Date d'inscription vendredi 15 avril 2022 Statut Membre Dernière intervention 28 septembre 2022 - 28 sept. 2022 à 15:21
- <input type="file"> ne fonctionne pas en https
- Host file - Guide
- .Bin file - Guide
- .Dat file - Guide
- Swf file player - Télécharger - Lecture
- File magic - Télécharger - Traitement de texte
9 réponses
24 sept. 2022 à 17:59
As-tu un message d'erreur ?
Quels sont les logs (error.log) du serveur ?
Quel est le code HTML utilisé (avec les URLs dans le code) ?
24 sept. 2022 à 18:11
Bonjour,
mais depuis que j'ai activé le contrat ssl sur mon serveur (le site est donc maintenant en https) l'upload de fichiers ne fonctionne plus j'ai donc compris que le https bloquait les envois de fichiers par sécurité .
Heuuu.. non. le https ne bloque rien !
A mon avis, tu as mal configuré le fichier .htacess de ton site qui se charge de forcer la redirection en https.
Et comme le dit Nhenry, il faudrait commencer par :
1- nous montrer le code utilisé
2 - Nous montrer le fichier htaccess
3 - Vérifier et nous montrer) le contenu du fichier error.log du serveur apache
25 sept. 2022 à 14:05
Ok parfait si le https ne bloque rien !
Dans mes logs j'ai ces erreurs :
"[Sun Sep 25 00:00:02.423371 2022] [mpm_prefork:notice] [pid 1058389] AH00163: Apache/2.4.41 (Ubuntu) Op>
[Sun Sep 25 00:00:02.423396 2022] [core:notice] [pid 1058389] AH00094: Command line: '/usr/sbin/apache2'
<630: client denied by server configuration: /var/www/html/server-status"
je me suis un peut renseigné sur l'erreur : "AH01630: client denied by server configuration"
j'ai vu que la cause de celle ci est probablement la mise a jour d'apache de 2.2 à 2.4 j'ai donc rajouté "<Directory /var/www/site-web-B>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>"
dans le fichier etc/apache2/sites-available/monfichierdeconfiguration.conf
mais rien n'y fait, de plus avant mon code marchait je ne pense pas que le problème vienne de celui-ci je pense que je ne sais pas quel fichier modifier pour changer les autorisations
De plus je n'ai pas crée de fichier .htaccess
25 sept. 2022 à 20:32
Ton site est-il toujours accessible en http (sans s ) ?
SI oui, l'upload fonctionne t'il en http ?
Et pourquoi ne pas "forcer" la redirection en https ? ( configuration au niveau apache et/ou via fichier .htaccess )
Tu sembles également nous indiquer que tu as fais une monté de version d'apache ?
Et enfin, si tu penses que le souci ne vient pas du code .. ce n'est donc pas un problème de "programmation" et encore moins de php....
A voir si une personne au niveau du forum Linux ou éventuellement webmaster peut t'aider avec la configuration de ton serveur. (je déplace ta question dans le forum webmaster pour l'instant )
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question25 sept. 2022 à 20:41
Sur un de mes fichiers (qui a subit plusieurs migrations) j'ai :
Options FollowSymLinks MultiViews AllowOverride all Order allow,deny allow from all deny from none Require all granted
26 sept. 2022 à 13:37
Bonjour,
Peux-tu joindre le fichier /etc/apache2/sites-available/monfichierdeconfiguration.conf entier ?
Que donne un var_dump($_FILES) ?
https://www.php.net/manual/en/function.var-dump.php
Il serait intéressant de connaître $_FILES['userfile']['error']
https://www.php.net/manual/en/features.file-upload.errors.php
Modifié le 26 sept. 2022 à 20:23
Désolé pour le temps de réponse je n'ai pas beaucoup de temps en ce moment mais voila :
jordane45 :
mon site n'est plus accessible en http (automatiquement redirigé vers https)
Je n'ai pas fait de montée de version d'apache, elle à dus se faire seule quand j'ai fait un apt get upgrade/update j'imagine
Merci d'avoir déplacé mon sujet =)
NHenry :
j'aimerais faire comme toi et changer les accès mais je ne sais pas où mettre ce texte
(dans le virtualhost sous le port 443 (https) ? dans le /etc/apache2/sites-available/monfichierdeconfiguration.conf ?)
avion-f16 :
mon fichier /etc/apache2/sites-available/monfichierdeconfiguration.conf en entier :
<VirtualHost *:80>
ServerName monsite.com
ServerAdmin ***@***
DocumentRoot /var/www/site-web-B
LogLevel info
ErrorLog ${APACHE_LOG_DIR}/monsite_error.log
CustomLog ${APACHE_LOG_DIR}/monsite_access.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =monsite.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<VirtualHost *:443>
ServerName monsite.com
ServerAdmin ***@***
DocumentRoot /var/www/site-web-B
SSLEngine on
SSLcertificateFile /etc/letsencrypt/live/monsite.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/monsite.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/monsite.com/chain.pem
LogLevel info
ErrorLog ${APACHE_LOG_DIR}/monsite_error.log
CustomLog ${APACHE_LOG_DIR}/monsite_access.log combined
<Directory /var/www/site-web-B>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
RewriteEngine on
RewriteCond %{SERVER_NAME} =monsite.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
+ var_dump($_FILES)
+ $_FILES['userfile']['error']
je teste ces codes dans le code php de mon upload ?
je le testerais quand j'aurais le temps (dans le code php de mon upload)je te le redirais
28 sept. 2022 à 15:03
le $_FILES['userfile']['error'] ne me retourne rien mais
var_dump($_FILES) me retourne :
array(1) { ["fileToUpload"]=> array(5) { ["name"]=> string(13) "imagetest.png" ["type"]=> string(9) "image/png" ["tmp_name"]=> string(14) "/tmp/php0qwywX" ["error"]=> int(0) ["size"]=> int(26496) } }
28 sept. 2022 à 15:21
OK !
au tant pour moi c'était bien une erreur de code !
j'ai vérifié mon code avent avoir (mal)retiré une fonctionnalité
Au final c'était un vieux point d'exclamation qui était au mauvais endroit , merci à vous tous pour votre aide =)