Recherche gallerie photo avec mot de passe

Ah zut c’est avec apache, je ne connais que nginx. Il va me falloir un petit peu plus de temps pour tester donc…

Oui j’ai pris Apache car il prend les CGI “out of the box” sans avoir à bidouiller comme avec nginx. Mais j’aurais pu prendre aussi Lighttpd car il supporte aussi les CGI en standard (mais pas les .htaccess)

Pour tester sur une machine virtuelle (ou un container LXC) la config par défaut d’apache suffit, il faut juste autoriser les .htaccess dans le site par défaut.

Si par contre tu as une conf pour nginx ça m’intéresse aussi :stuck_out_tongue:

(j’aurais bien proposé une VM toute prête mais ça pèse ~700Mo avec une Wheezy minimale :118 )

Alors j’ai réussi à la faire fonctionner avec nginx.

Il faut juste installer fcgiwrap, puis mettre cette config à nginx (test sur machine locale) :

server { listen localhost:80; root /home/xavier/Documents/Programmes/gal_demo/; client_max_body_size 2000M; index index.cgi; location ~ \.cgi$ { gzip off; # Fastcgi socket #fastcgi_pass localhost:9000; fastcgi_pass unix:/var/run/fcgiwrap.socket; # Fastcgi parameters, include the standard ones include /etc/nginx/fastcgi_params; # Adjust non standard parameters (SCRIPT_FILENAME) fastcgi_param DOCUMENT_ROOT /home/xavier/Documents/Programmes/gal _demo; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
du coup j’y accède bien dans un navigateur.

J’ai du changer la variable [mono]BASE_NAME[/mono] dans conf/conf pour que ça marche.

Maintenant je rencontre des erreurs lors des tentatives d’upload. Les logs de nginx ne disent rien. C’est certainement une histoire de droits, je n’ai pas encore creusé.

L’envoi de mail automatique fonctionne super!

Un bon début, faut que je teste aussi tout ça :023

Par contre les .htaccess ne fonctionnent pas avec nginx, il faut donc convertir tout cela en syntaxe nginx!

Pour l’upload, il faut bien sûr que le dossier devant contenir les données (“data”) soit accessible en écriture par le serveur web.

[quote=“agentsteel”]Par contre les .htaccess ne fonctionnent pas avec nginx, il faut donc convertir tout cela en syntaxe nginx![/quote] Ça je ne sais pas faire… :confused:

[quote]
Pour l’upload, il faut bien sûr que le dossier devant contenir les données (“data”) soit accessible en écriture par le serveur web.[/quote]
bien sûr. Un [mono]chown -R www-data:www-data data/[/mono] et ça roule!

Sans rire, ce petit script, c’est juste absolument génial! Je me demande si je ne vais pas remplacer dropcenter par ta petite merveille!

J’ai un peu de mal à me mettre à nginx :smiley:

Tu peux ajouter l’authentification par mot de passe dans ta conf nginx

nginx.org/en/docs/http/ngx_http_ … odule.html

puis, interdire l’exécution de certains types de fichiers dans ton dossier (et sous-dossiers) “data”.

cat data/.htaccess

# disallow (potentially malicious) html/php/cgi/scripted pages
Options -ExecCGI -MultiViews +SymLinksIfOwnerMatch -Indexes -Includes
AddHandler cgi-script .php .php3 .php4 .phtml .pl .py .js .jsp .asp .htm .html .shtml .sh .cgi

Ceci étant, dans mon code j’ai fait en sorte de supprimer le bit d’exécution sur les fichiers uploadés ce qui devrait limiter les risques (regarder à partir de la ligne 379 dans index.cgi), à vérifier tout de même on ne sait jamais! (essayer d’uploader un .zip contenant des fichiers .cgi exécutables par exemple, et vérifier si ils sont exécutés en cliquant dessus dans l’appli web)

Enfin il faut interdire l’accès aux sous-dossiers “logs” et “conf”.