source: spip-zone/_plugins_/acces_restreint/trunk/formulaires/configurer_accesrestreint.html @ 67731

Last change on this file since 67731 was 67731, checked in by cedric@…, 8 years ago

Amelioration de la gestion des URLs de documents protégés :

Si apache le permet on se contente d'une unique .htaccess dans IMG/ qui rewrite les urls des documents
Quand la protection est activée

  • on génère des urls de la forme IMG/png/truc.png?12/abe345 qui contiennent l'id et le hash pour des questions de performance (revient a mettre l'autorisation en cache au lieu de la calculer sur chaque hit de l'image).
  • neanmoins les urls IMG/png/truc.png sont aussi fonctionnelles, via le calcul d'autorisation explicite au moment du hit

Cela permet de ne pas casser les urls lorsqu'on active ou desactive la protection de document : dans les deux cas les urls qui existaient auparavant restent fonctionnelles, et s'adaptent à la nouvelle strategie de protection.

Si apache ne permet pas le rewrite rule (testé par un recuperer_page sur une url improbable IMG/test/.test/0/1 donc soumis aussi à la possibilité de faire une requete http) on se rabat sur la strategie antérieure avec un deny all dans chaque sous repertoire, et des urls de la forme /docrestreint.api/12/abe345/png/truc.png

File size: 2.9 KB
Line 
1<div class="ajax formulaire_spip formulaire_configurer formulaire_#FORM formulaire_#FORM-#ENV{id,nouveau}">
2        [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
3        [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
4        [(#ENV{editable})
5        <form method='post' action='#ENV{action}'><div>
6                [(#REM) declarer les hidden qui declencheront le service du formulaire
7                parametre : url d'action ]
8                #ACTION_FORMULAIRE{#ENV{action}}
9                #SET{fl,accesrestreint}
10                <ul>
11                        #SET{name,accesrestreint_proteger_documents}#SET{obli,''}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
12                        <li class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
13                                <label><:accesrestreint:label_creer_htaccess:></label>[
14                                <span class='erreur_message'>(#GET{erreurs})</span>
15                                ]
16                                <p class="explication"><:accesrestreint:explication_creer_htaccess:></p>
17                                #SET{val,oui}
18                                <div class="choix">
19                                        <input type="radio" class="radio" name="#GET{name}" id="#GET{name}_#GET{val}" value="#GET{val}"[(#ENV{#GET{name}}|=={#GET{val}}|oui)checked="checked"] />
20                                        <label for="#GET{name}_#GET{val}"><:accesrestreint:label_creer_htaccess_oui:></label>
21                                </div>
22                                #SET{val,non}
23                                <div class="choix">
24                                        <input type="radio" class="radio" name="#GET{name}" id="#GET{name}_#GET{val}" value="#GET{val}"[(#ENV{#GET{name}}|=={#GET{val}}|oui)checked="checked"] />
25                                        <label for="#GET{name}_#GET{val}"><:accesrestreint:label_creer_htaccess_non:></label>
26                                </div>
27                        </li>
28                        <li class="fieldset">
29                                <fieldset>
30                                        <legend><:info_fichiers_authent:></legend>
31                                        <ul>
32                                                #SET{name,creer_htpasswd}#SET{obli,''}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
33                                                <li class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
34                                                        [<span class='erreur_message'>(#GET{erreurs})</span>]
35                                                        #SET{dossier,#VAL{_DIR_TMP}|constant|joli_repertoire|wrap{'<tt>'}}
36                                                        <p class="explication"><:texte_fichier_authent{dossier=#GET{dossier}}:></p>
37                                                        #SET{val,oui}
38                                                        <div class="choix">
39                                                                <input type="radio" class="radio" name="#GET{name}" id="#GET{name}_#GET{val}" value="#GET{val}"[(#ENV{#GET{name}}|=={#GET{val}}|oui)checked="checked"] />
40                                                                <label for="#GET{name}_#GET{val}"><:item_creer_fichiers_authent:></label>
41                                                        </div>
42                                                        #SET{val,non}
43                                                        <div class="choix">
44                                                                <input type="radio" class="radio" name="#GET{name}" id="#GET{name}_#GET{val}" value="#GET{val}"[(#ENV{#GET{name}}|=={#GET{val}}|oui)checked="checked"] />
45                                                                <label for="#GET{name}_#GET{val}"><:item_non_creer_fichiers_authent:></label>
46                                                        </div>
47                                                </li>
48                                        </ul>
49                                </fieldset>
50                        </li>
51                </ul>
52
53
54                [(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ]
55          <!--extra-->
56          <p class='boutons'><span class='image_loading'>&nbsp;</span>
57                        <input type='submit' class='submit' value='<:bouton_enregistrer:>' /></p>
58        </div></form>
59        ]
60</div>
Note: See TracBrowser for help on using the repository browser.