Le 07/05/2020 à 00:49, RastaPopoulos a écrit :
Le 06/05/2020 à 20:21, nicod_ a écrit :
En 3.2 ça crée un htaccess dans IMG :
RewriteEngine On
RewriteCond %{QUERY_STRING} ^(\d+/[\da-f]+)$
RewriteRule ^\w+/.*$ ../spip.php?action=api_docrestreint&arg=%1/$0
[skip=100]
RewriteRule ^\w+/.*$ ../spip.php?action=api_docrestreint&arg=0/0/$0
[skip=100]
Moi j'ai bien ces règles (je suis en 3.2), et il les faut absolument à la
racine de IMG. Pierrox dit que lui ne les a pas, et ça ça peut être un bug.
Non, ce n'est pas un bug, mais le comportement que j'observe est
différent entre plusieurs SPIP, en 3.2 et 3.3.
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).
Mais avec un htaccess qui bloque tout accès http dans chaque sous
répertoire, les documents sont clairement inaccessibles par leur url
directe (/IMG/pdf/machin.pdf).
Ensuite, les #URL_DOCUMENT sont générées avec un hash et un id_document,
soit sous la forme :
https://domaine.tld/IMG/pdf/document.pdf?306/3364508d941ea5480ae60af4774255f0c4646833
soit sous la forme :
https://domaine.tld/docrestreint.api/188/feeb9f02eec4c08a5d7285b3db252c8ba316fe14/pdf/document.pdf
donc passent bien par l'action api_docrestreint qui vérifie les droits.
Sans la constante ACCES_RESTREINT_FORCE_AUTORISE, il suffit d'avoir
l'url avec le hash pour accéder au document.
Il suffit d'envoyer un mail avec l'url du document pour que n'importe
qui puisse y accéder.
Et certains webmails ne se gênent pas pour lire le courrier (suivez mon
regard vers... Gmail au hasard).
Pour moi c'est donc une non-protection, les documents sont tout aussi à
poil que si on ouvre l'accès à leur lien direct.
Avec la constante déclarée ça semble bien fonctionner sur deux SPIP 3.2
et 3.3 sur lesquels je teste, un visiteur non connecté n'accède pas aux
documents attachés à une zone d'accès restreint.
Mais sur un autre SPIP 3.2 en particulier, ça passe direct, on peut
télécharger quand même les docs, je chercher à comprendre pourquoi...
--
nicod_
_______________________________________________
liste: https://listes.rezo.net/mailman/listinfo/spip-dev
doc: https://www.spip.net/
dev: https://core.spip.net/
irc://irc.freenode.net/spip