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

Répondre à