Le 07/05/2020 à 20:53, nicod_ a écrit : > Parfois il y a un htaccess à la racine de /IMG (le rewrite ci dessus), > parfois dans chaque sous répertoire (deny all), je ne détermine pas bien > pourquoi (le code est assez... complexe à suivre).
Le pourquoi normalement c'est : - si protection des documents le plugin cherche en priorité à poser uniquement le htaccess de IMG qui doit tout rediriger vers l'action PHP (plus aucune URL de document servie brute) - mais il teste si ça marche vraiment, en demandant un fichier qui doit renvoyer OK seulement si depuis l'action PHP - si ça n'a PAS marché, alors il pose des htaccess de deny (c'est le core qui fait ça) dans tous les sous-dossiers, et il supprime celui de IMG puisque ne marche pas Les raisons pour lesquelles ça ne marche pas peuvent être multiples, par ex : - des problèmes de droits, et donc le fichier n'est pas posé du tout - des problèmes de config Apache ou ce genre, et donc les réécritures ne fonctionnent pas et donc ça n'appelle pas l'action PHP Toujours est-il que si les rewrite ne fonctionnent pas et que donc pas d'action PHP, alors ce sont les deny dans les sous-dossiers. Mais si le htaccess IMG a bien fonctionné, alors les vrais URL de documents redirigent toujours vers l'action PHP *qu'il y ait la query string avec le hash ou pas*. Le fait qu'il y ait le hash, est une facilité, où l'autorisation (matérialisée par le hash) est calculée en amont au moment de #URL_DOCUMENT, et du coup si c'est le cas, quand on cherche à accéder au document, il ne vérifie plus l'autorisation car déjà ok (sauf si constante). Mais si on demande les fichiers sans le hash, ça marche aussi : ça passe bien par l'action de même, et ça vérifie alors l'autorisation sur le moment de l'accès (y compris sans la constante donc). Les htpasswd par contre sont sans rapport avec les documents et donc les htaccess de IMG (lui-même ou sous-dossiers). -- RastaPopoulos _______________________________________________ liste: https://listes.rezo.net/mailman/listinfo/spip-dev doc: https://www.spip.net/ dev: https://core.spip.net/ irc://irc.freenode.net/spip