Acces Restreint 3.0

Le plugin accès restreint permet de définir et de gérer des zones de l’espace public en accès restreint. Cette version du plugin a été redévelopée et optimisée tout spécialement pour SPIP 2.0. Il en découle une amélioration des performances sur les gros sites.
L’interface a été remaniée pour une meilleure ergonomie, mais le fonctionnement des boucles et des squelettes reste identique à la version précedente du plugin

Utilité et fonctionnalités du plugin

Le plugin accès restreint vous permet de protéger et de restreindre l’accès à certaines rubriques uniquement aux visiteurs authentifiés et autorisés.

Si un visiteur n’est pas identifié ou s’il n’est pas autorisé, alors l’intégralité de la rubrique (ce qui inclut les sous-rubriques, les articles, les liens ...) ne sera pas visible par ce visiteur.

Si le visiteur est identifié, alors ce visiteur pourra accéder aux rubriques pour lesquelles il a reçu une autorisation d’accès.

Ainsi, ce plugin vous permet de masquer du contenu aux visiteurs non identifiés, et de créer des droits d’accès aux visiteurs identifiés.

Le plugin vous permet également de filtrer l’espace privé.

En résumé, le plugin Accès restreint permet de définir et de gérer des zones de l’espace public et de l’espace privé en accès restreint.
Chaque zone contient des rubriques, et les auteurs peuvent être associés à des zones pour avoir le droit d’y accéder.
Toutes les boucles natives de SPIP sont modifiées pour en filtrer les résultats en fonction des droits du visiteur.

I. Installation du plugin accès restreint

Le plugin s’installe comme tous les autres, en ajoutant le dossier dans plugins/ et en l’activant dans l’espace privé.


Attention : en activant ou en désactivant ce plugin, il faut penser à vider le cache de SPIP pour que les droits d’accès soient modifiés.
En particulier, en cas de désactivation, si le cache n’est pas vidé, des erreurs vont apparaître sur le site public. Ce n’est pas un bug, mais une sécurité, pour éviter une divulgation de contenu en cas de désactivation involontaire du plugin.

Le plugin pourrait gérer automatiquement le changement de cache lors de son activation/désactivation, mais dans ce cas, en cas de désactivation involontaire, le contenu protégé serait immédiatement visible, ce qui peut être considéré comme une faille de sécurité.

II. Définir les zones en accès restreint

Les étapes précédentes ont pour effet de faire apparaître un nouvel onglet dans Configuration / Accès restreint, avec une petite icone de cadenas : ecrire/ ?exec=acces_restreint

C’est cette page qui va vous permettre de gérer les zones d’accès restreint de votre site, créer de nouvelles zones ou modifier les zones existantes. Pour créer votre première zone, cliquez sur le raccourci Créer une nouvelle zone.

L’administrateur qui crée la zone peut s’octroyer immédiatement les droits d’accès. Seul un administrateur général du site peut créer, modifier ou supprimer une zone.

Renseignez le titre, le descriptif, la portée (publique et/ou privée) de la zone.
Par défaut, l’option « m’ajouter les droits d’accès à cette zone » est cochée car cela correspond à l’usage le plus fréquent.

Il faut ensuite définir les rubriques qui en font partie. Si on coche la racine du site, il n’y a plus aucun affichage sur l’espace public pour ceux qui ne sont pas identifiés. C’est pratique, par exemple, pour mettre un site en ligne pour les administrateurs et les auteurs sans qu’il soit visible pour le simple visiteur.

Les rubriques qui sont cochées sont explicitement restreintes. Si elles sont déplacées dans le site, elle le resteront. Les rubriques qui ne sont pas cochées mais dépendent d’une rubrique restreinte sont elles aussi restreintes, par héritage. Mais si elles sont déplacées dans l’arborescence dans une zone non restreinte elles seront visibles.

Il faut imaginer la restriction d’accès des rubriques comme une restriction d’accès dans un immeuble : lorsqu’il faut une autorisation pour franchir une porte, tout ce qui est derrière se retrouve en accès restreint.

Cliquez sur « Enregistrer » pour créer la zone. Vous revenez alors à la liste des zones, ou apparaît votre nouvelle zone :

Pour chaque zone, un résumé apparaît indiquant le titre et le descriptif de la zone, le nombre de rubriques restreintes, le nombre d’auteurs autorisés, et si la zone et publique et/ou privée.

Le pictogramme en haut à droite de la zone vous indique si vous avez personnellement accès à la zone. Dans le cas où vous n’avez pas accès, il indique un sens interdit sur fond rouge, et sinon une coche sur fond vert, comme ici.

III. Ajouter des auteurs à une zone

Depuis la zone

Vous pouvez maintenant ajouter d’autres auteurs à la zone qui auront le droit de voir son contenu.
Pour cela, cliquez sur modifier

Vous retrouvez le formulaire d’édition de la zone avec :

  • les rubriques concernées reperées visuellement par un fond coloré
  • la liste des auteurs autorisés dans la colonne de gauche

Vous pouvez cliquer sur « Ajouter des auteurs » pour visualiser la liste des auteurs du site, triés par nom et paginés :

Le picto « + » situé à droite de chaque auteur vous permet de l’ajouter à la liste des auteurs autorisés. La croix rouge située à droite de chaque auteur autorisé vous permet de le retirer de cette liste.

Vous pouvez ainsi administrer la liste des auteurs autorisés en la complétant comme par exemple ici :

Les mises à jour de la liste des auteurs autorisés sont appliquées immédiatement, sans qu’il soit nécessaire d’enregistrer la zone.

Lorsque vous avez fini, revenez à la liste des zones (par le bouton retour donc, ou le bouton enregistrer si vous avez fait d’autres modifications). Vous pouvez voir que le nombre d’auteurs a été mis à jour.

Depuis une fiche auteur

Vous pouvez aussi gérer les droits d’un auteur depuis sa page personelle dans l’interface privée :

Vous pouvez sélectionner une zone et cliquer sur « Ajouter » :

La liste des zones autorisées est alors mise à jour :

Le lien « Enlever de la zone » vous permet de retirer les droits d’accès à une zone pour cet auteur.

IV. Fonctionnement et boucles du plugin

Tout le fonctionnement des squelettes et des boucles est inchangé par rapport à la version précedente du plugin. On se reportera donc à la partie concernée de sa documentation.

V. Protéger les documents de SPIP

La protection des documents de SPIP associé aux articles protégés est une fonctionnalité souvent demandée.

Le plugin accès restreint permet cela, si votre hébergement remplit deux conditions :
-  qu’il accepte les fichiers .htaccess permettant de donner des directives au serveur
-  qu’il soit suffisamment bien dimensionné, car les accès aux images et documents du site vont tous générer un accès à la base de données (pour savoir si les documents concernés peuvent être vus), ce qui ralentit fortement le site.

Si vous êtes dans ces conditions, ou que vous voulez tout de même essayer (mais on vous aura prévenu), voici comment faire :

Allez sur la page d’accueil du plugin Accès Restreint en cliquant sur son icône dans le menu « Configuration »

Menu icone Accès Restreint

Vous arriverez sur cette page :

Page d’accueil du plugin Accès Restreint

Cliquez sur le raccourci « Configuration des accès .htaccess » :

Raccourcis « Configuration des accès .htaccess »

Vous arriverez sur cette page :

« Ne pas créer ces fichiers » coché par défaut

Il suffit de cocher « Interdire la lecture », dans le premier cadre « Accès aux documents joints par leur URL », et « Créer les fichiers .htpasswd » dans le second cadre.

Vider ensuite votre cache. Tous les urls vers des images et documents de SPIP seront alors remplacés par un url de la forme spip.php?action=acceder_document&file=xxx, qui provoquera la lecture de l’autorisation d’accès au document [1].

Si votre site devient très lent ou plante sans arrêt sur une erreur du type « Accès impossible à mySQL », alors votre hébergement n’est pas suffisant pour ce fonctionnement. Désactiver la fonction pour revenir à un fonctionnement normal.

En complément, si après la mise en place du fichier .htaccess certaines pages de l’interface privée vous sont inaccessibles et que vous obtenez des messages « Accès interdit », vous pouvez désactiver la vérification htaccess de l’interface privée, dans les options du site.

VI. Paramétrage plus fin des restrictions

AR_TYPE_RESTRICTION définit le type de restriction pour traiter les élements communs à plusieurs zones :

  • Une restriction exclusive (ou forte) donne l’acces aux rubriques restreintes par plusieurs zones aux seuls membres de toutes les zones concernées.
  • Une restriction faible donne acces à une rubrique, même restreinte par plusieurs zones, aux membres de chaque zone concernée.
  • Valeurs possibles :
    • faible,
    • forte ou exclusive (par défaut)

Autrement dit, si une rubrique 2 est enfant d’une rubrique 1, et qu’il existe une zone 1 (rubrique 1) et une zone 2 (rubrique 2) :

  • un auteur présent dans la zone 1 (uniquement) ne pourra pas voir la rubrique 2 lorsque la restriction est « forte ». Il le pourra avec une restriction « faible »
  • À l’inverse, un auteur présent uniquement dans la zone 2 ne pourra pas voir la rubrique 1 même si la restriction est « faible » car la parentée n’est pas concernée. Il faut (si souhaité) dans ce cas définir en plus AR_TYPE_RESTRICTION_PARENTEE à « faible » pour l’autoriser.

Exemple, dans config/mes_options.php :

# Pour qu'une rubrique placée dans une Zone puisse 
# être accédée en étant une sous rubrique d'une autre Zone
define('AR_TYPE_RESTRICTION','forte');
define('AR_TYPE_RESTRICTION_PARENTEE','faible');

AR_TOUJOURS_TOUT_VOIR est une constante qui, si elle est définie dans le fichier mes_options.php de votre site (ou le fichier d’options de votre plugin qui utilise acces_restreint) modifie le comportement des boucles afin qu’elles affichent tous les résultats, sans aucune restriction. Pour restreindre un affichage, le squelette doit donc tester à la main, par exemple avec le filtre accesrestreint_article_restreint.

Exemple :
-  dans mes_options :

define (AR_TOUJOURS_TOUT_VOIR, 1);


-  dans un fichier squelette :

<BOUCLE_a(ARTICLES)>
[(#ID_ARTICLE|accesrestreint_article_restreint|oui)  <INCLURE{fond=intro_article}{id_article}> ]
[(#ID_ARTICLE|accesrestreint_article_restreint|non) Pas accés à cette page]
</BOUCLE_a>

AR_RESTRICTION_LIENS_STRICTE (après 4.1.0) est une constante qui, si elle est définie dans le fichier mes_options.php de votre site (ou le fichier d’options de votre plugin qui utilise acces_restreint) permet de ne jamais autoriser l’accès à un document ou un forum lié à un objet en accès restreint.

Exemple :
-  dans mes_options :

define (AR_RESTRICTION_LIENS_STRICTE, 1);

Notes

[1A partir de la version 3.8 du plugin, les URLs des documents protégés sont soit sous la forme plus perenne /IMG/xxxxxx.xxx?nn/hash si les réécritures d’URLs sont possible sur votre hébergement, soit de la forme docrestreint.api/nn/hash/xxxxxxx.xxx

Avec SPIP 2.1 le plugin nécessite l’installation du plugin SPIP Bonux.

Discussion

476 discussions

  • Bonjour, merci pour le plugin
    je voudrais inscrire automatiquement a une zone restreinte id_zone=1, les visiteurs qui inscrivent par le formulaire [(#FORMULAIRE_INSCRIPTION6forum)]
    Merci

    Répondre à ce message

  • 1

    Bonjour,
    Sur un SPIP 3.0.17 [21515], un accès restreint 3.8.13, tous mes plugins à jour qui a bien fonctionné jusqu’à il y a quelques jours.
    Je suis le seul à pouvoir accéder à toutes les rubriques, sinon tous les inscrits n’ont accès à rien, exemples : avec redacteur enregistré

    Répondre à ce message

  • Bonjour,

    Après de multiples recherche, je n’ai toujours pas trouvé de solution claire sur la protection des documents avec Accès Restreint. Tout fonctionne pour les accès aux articles mais, comme dit dans beaucoup de posts, les documents joints dans ces zones restreintes sont toujours accessibles si on a l’url direct.

    Pour l’instant je teste le site en local donc pas d’url à vous donner. J’utilise SPIP 3.0.17 avec Accès Restreint 3.8.13 avec Sarka-SPIP 3.4.5.

    Ai-je loupé quelque chose ? Je suis convaincu qu’il y a une solution, vu le nombre de sites qui utilisent SPIP. Est-ce que ça passe par une solution nécessitant des compétences pointues en php par exemple ?
    J’ai bien essayé le script modifié en PJ ici : https://groups.google.com/d/msg/spip/SiSF8xei_zc/xhaaTNpnBbEJ mais aucune différence...

    Merci d’avance.

    Répondre à ce message

  • 3

    Bonjour,

    J’ai un spip 3.0.17 tout neuf en local avec une base mysql.
    Lors de l’activation du plugin accès restreint 3.8.13 j’obtiens sur tout la partie haute du site :
    http://postimg.org/image/djgeanwpj/
    pour le coté privé et le public :
    http://postimg.org/image/x3kyhdr27/

    Je tiens à signaler que j’ai le même soucis, concernant une sauvegarde d’une base sur un site qui a le plugin accès restreint 3.6.2 sur un site spip 3.0.2. La sauvegarde de la base s’est bien effectué, mais la restauration de celle-ci via le noveau spip 3.0.17 m’a généré les mêmes erreurs.

    Est-ce que le plugins accès restreint touche à la base ? si c’est le cas comment faire une sauvegarde de la base en toute sécurité afin de la restaurer sans problème ?

    J’ai du renommer le dossier /plugins afin que l’affichage se refasse normalement....

    en vous remerciant.

    • J’ai exactement le même souci. spip 3.0.17 pareil.
      Admin hors ’usage ; et erreur sur le site public :
      « Erreur SQL 1146
      Table ’matable.spip_zones_liens’ doesn’t exist
      SELECT id_objet FROM spip_zones_liens AS zr INNER JOIN spip_zones AS z ON
      zr.id_zone=z.id_zone WHERE publique=’oui’ AND 0=0 AND zr.objet=’rubrique’  »
      Si tu trouves une solution je suis preneur :/

    • Le problème est résolu.
      Je ne sais pas pourquoi mais impossible pour le plugin de créer ses tables. Il ma fallut donc les lui ajouter manuellement.
      Pour cela installer : http://plugins.spip.net/adminer.html
      Créer un site en local avec adminer et accès_restreint, exporter les table spip_zone et spip_zone_lien.
      Puis les réimporter dans votre site online. Vous pouvez ensuite installer acces restreint il marchera vu qu’il aura les tables nécessaires.
      (j’ai du en plus ouvrir les fichiers .sql exporté et supprimer la ligne)

      DROP TABLE IF EXISTS <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+c3BpcF96b25lczwvY29kZT4="></span>;

      Qui empêchait l’import de la table de e passer correctement.

    • Effectivement, petit bug sur l’install. Voici les tables à ajouter pour simplifier :

      CREATE TABLE IF NOT EXISTS <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+c3BpcF96b25lczwvY29kZT4="></span> (
        <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+aWRfem9uZTwvY29kZT4="></span> bigint(21) NOT NULL AUTO_INCREMENT,
        <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+dGl0cmU8L2NvZGU+"></span> varchar(255) NOT NULL,
        <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+ZGVzY3JpcHRpZjwvY29kZT4="></span> text NOT NULL,
        <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+cHVibGlxdWU8L2NvZGU+"></span> enum('non','oui') NOT NULL DEFAULT 'oui',
        <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+cHJpdmVlPC9jb2RlPg=="></span> enum('non','oui') NOT NULL DEFAULT 'non',
        <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+bWFqPC9jb2RlPg=="></span> timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
        PRIMARY KEY (<span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+aWRfem9uZTwvY29kZT4="></span>)
      ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ;
      
      
      CREATE TABLE IF NOT EXISTS <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+c3BpcF96b25lc19saWVuczwvY29kZT4="></span> (
        <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+aWRfem9uZTwvY29kZT4="></span> bigint(21) NOT NULL DEFAULT '0',
        <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+aWRfb2JqZXQ8L2NvZGU+"></span> bigint(21) NOT NULL DEFAULT '0',
        <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+b2JqZXQ8L2NvZGU+"></span> varchar(25) NOT NULL DEFAULT '',
        PRIMARY KEY (<span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+aWRfem9uZTwvY29kZT4="></span>,<span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+aWRfb2JqZXQ8L2NvZGU+"></span>,<span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+b2JqZXQ8L2NvZGU+"></span>),
        KEY <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+aWRfem9uZTwvY29kZT4="></span> (<span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+aWRfem9uZTwvY29kZT4="></span>)
      ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

    Répondre à ce message

  • 1
    Ph Jeanne

    Bonjour,
    J’utilise Accès restreint depuis longtemps. Je constate un problème : l’accès aux documents joints liés depuis une image (ex [<embxxx>->docyyy] ) ou lorsqu’on change la vignette d’un document lié, est interdit en zone non protégée. En fait, le code d’accès n’est pas généré, et l’utilisateur tombe sur une page 404.
    Or, cela fonctionne parfaitement avec les vignettes d’origine.
    Une correction est-elle possible ?

    Merci,

    Répondre à ce message

  • 1

    Bonjour,

    J’utilise Accès restreint qui fonctionne très bien, à un petit détail près.. J’utilise également le plugin Newsletter et donc MailSubscribers. Quand les gens s’inscrivent à la newsletter, ils doivent cliquer sur un lien de confirmation.
    Cette page de confirmation n’apparait pas dans une rubrique / secteur du site.. elle dépend du plugin directement et est appelée comme ceci :

    /spip.php?action=confirm_mailsubscriber&email=...&arg=...

    Pourtant, Accès restreint m’empeche d’accèder à la page en question :
    « confirm_mailsubscriber : Accès interdit »

    Comment faire pour permettre l’accès public à cette page la ??

    Merci

    • Comment Accès restreint gère t-il ces pages « action » ?
      Personne n’a eu ce souci ?

    Répondre à ce message

  • 6

    Bonjour,

    Site associatif avec Accès Restreint depuis les débuts du plugin, avec Sarka-SPIP.
    Hébergement OVH mutu Pro.
    http://www.aplv-languesmodernes.org/

    La zone en accès restreint comporte de nombreux documents que nous voulons garder accessibles uniquement à ceux qui ont un accès à la zone (des centaines de personnes et des centaines de documents). Tout fonctionnait bien jusqu’à un certain moment que je n’ai pas identifié, probablement après une mise à jour de spip ou d’un plugin (jamais eu de changement d’hébergeur), et ça peut dater d’un an environ à mon avis, le problème a été identifié il y a quelques mois.
    Maintenant quand l’accès aux document joints est interdit à la lecture, ils deviennent interdit pour tous, ceux qui ont un mot de passe pour accéder à la zone et même pour les administrateurs.

    Bien sûr nous voulons que les personnes munis d’un mot de passe puissent avoir accès aux documents.

    Actuellement SPIP 3.0.17 [21515] - Sarka-SPIP 3.4.4 [84602] - Accès Restreint 3.8.13
    Le problème a été identifié avant les quelques dernières mises à jour d’Accès Restreint (je ne sais pas laquelle).
    Message quand on est logué dans la zone à accès restreint et qu’on veut voir le document :
    The requested URL /docrestreint.api/1062/da58b90be02bdaf76961c9ac3d459309b16c56ad/pdf/xxxxxx.pdf was not found on this server.

    Sarka-Spip désactivé, le comportement reste le même, donc a priori je ne pense pas que le problème vienne de l’intégration d’Accés Restreint dans Sarka-Spip.

    A priori je n’ai pas l’impression qu’il s’agisse du cas répertorié ici :
    http://contrib.spip.net/Message-d-erreur-Acces-interdit
    De toute façon j’ai testé la manip mais ça ne change rien.

    Quelqu’un a-t-il déjà rencontré ce problème ? Que faire ?
    Merci de toute aide.

    • Tu dois avoir ton fichier « .htaccess » activé et à jour. C’est lui qui permet les URL de type « API » et qui les réécrit pour appeler les bonnes actions PHP. Celui fournit par SPIP 3 contient bien ce qu’il faut dedans.

    • Le chemin docrestreint.api a été ajouté récemment. Il nécessite que .htaccess soit fonctionnel. Il a du être créé dans le répertoire IMG. Enfin, si ces documents ne sont pas gérés par la médiathèque, par exemple si tu as IMG/mon_repertoire_perso/fichier.tld alors accès restreint bloque maintenant l’accès systématiquement. Tu peux définir une liste de répertoires autorisés en lecture, ou avec des autorisations particulières avec 2 pipelines que j’ai du rajouter récemment (http://zone.spip.org/trac/spip-zone/changeset/84562) :

      • accesrestreint_repertoires_toujours_autorises
      • accesrestreint_pre_vue_document

      Attention : ces nouvelles options sont pour le moment présentes uniquement sur la version ’trunk’ de accès restreint (elle n’est pas encore proposée en zip je crois).

      Exemple d’utilisation pour autoriser toutes les personnes identifiées à lire certains documents :

      /**
       * Autoriser la vue des documents IMG/form/*.pdf, mais uniquement
       * aux personnes identifiées
       *
       * Lorsque accès restreint est présent, il bloque tout affichage
       * de document dans IMG qui ne serait pas un document de la médiathèque
       * (dans spip_documents). Il faut passer outre cette restriction.
       */
      function monplugin_accesrestreint_pre_vue_document($Document) {
      	if (0 === stripos($Document->get_chemin_fichier(), 'form/')) {
      		if ($Document->get_chemin_fichier() == 'form/') {
      			$Document->status = 404;
      		} else {
      			include_spip('inc/session');
      			if (session_get('id_auteur')) {
      				$Document->status = 200;
      			} else {
      				$Document->status = 403;
      			}
      		}
      	}
      	return $Document;
      }
    • RastaPopoulos,

      Quand tu dis « .htaccess » activé et à jour il s’agit bien de la « Configuration des accès » dans la configuration du plugin ? Quand je coche « interdire la lecture » tous les documents sont bloqués en accès à tout le monde, même aux administrateurs. Et même les documents qui sont hors de la zone en accès restreint. Je n’arrive absolument pas à comprendre ce qui cloche.

    • Non je parle du fichier à la racine, que SPIP fournit en « htaccess.txt » et que tu dois renommer en « .htaccess ».

    • Merci RastaPopoulos. Il suffit d’une minute d’inattention dans une mise à jour et j’avais écrasé le .htaccess qui y était déjà. Tout est redevenu normal.

    • Bonjour,
      J’ai bien le .htaccess dans /IMG avec les lignes

      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]

      et j’ai coché « interdire la lecture » dans la config du plugin et pourtant mes documents joints sont accessibles via une recherche google qui donne un résultat du type :
      http://www.site.fr/IMG/pdf/plan.pdf?299/e4f02845c3511512b94d49ba6d025c1f4d

      J’ai vidé le cache du site et utilisé un autre navigateur pour les lests.
      Qu’est-ce que j’ai oublié de faire pour protéger les documents ?

      Merci
      dd

    Répondre à ce message

  • Depuis que j’ai migré mon site en PHP 5.5, j’ai ce Warning* :
    Illegal string offset ’statut’ in evaluer_page.php(55) : eval()’d code on line 3

    * quand aucun utilisateur n’est authentifié. si je désactive le plugin accès restreint, plus de warning

    Répondre à ce message

  • Bonjour,

    j’ai un comportement étrange dans mon plugin Accès Restreint... En effet, plutôt qu’avoir la liste des auteurs sur ma barre latérale gauche, j’ai les mêmes items que pour les articles à savoir l’ajout de documents et de vidéos. J’ai pourtant la dernière version du plug et SPIP 3.0.16.

    Voici la liste de mes autres plugs utilisés :
    Accès Restreint
    Albums
    API de vérification
    Autorité
    Boutons dans le Texte
    Champs Extras
    Champs Extras (Interface)
    Coche Mots
    Critère mots
    Duplicator
    Enluminures typographiques
    Facteur
    Flux RSS configurable
    Formidable
    Formulaire de contact avancé
    GIS
    Griseus : icônes barre d’édition
    Griseus : vignettes
    Le Couteau Suisse
    Memoization
    Mes Favoris 2
    Mes fichiers
    Messagerie
    Motus
    Palette
    Query Path
    Rainette
    Ressource
    Saisies pour formulaires
    Sauvegarde automatique
    SEO
    SPIP Bonux
    SpiPDF
    Squirrels Love Chimps
    Squirrels Love Chimps Lists
    Squirrels Love Chimps Plus
    Tip A Friend
    Twitter
    URLs Pages étendues
    Vidéo(s)
    YAML

    Merci pour vos retours... :)

    Répondre à ce message

  • 1

    Bonjour,

    SPIP : 3.0.16
    Plugins : Accès restreint 3.8.13, Agenda 3.14.3, Facteur 3.0.13, Formulaires et Tables 0.5.6, Galleria plugin pour SPIP 1.3.2, Lecteur de médias de MediaSPIP 1.5.7, MailShot 1.7.2, MailSubscribers 1.5.5, Mini Calendrier 2.3.6, Newsletters 1.3.5, SPIP Bonux 3.0.6
    Situation initiale : j’ai défini une zone publique et privée où seulement moi-même (webmaster) et un rédacteur ont accès. J’ai vidé les caches. Le site public réagit selon les attentes.
    Problème : après m’être déconnecté et voulant me reconnecter, je ne reçois qu’une page blanche à l’adresse ecrire/ ?exec=accueil&bonjour=oui. Le code de la page indique qu’effectivement la page est vide (donc pas d’erreur javascript ou autre).

    Y-a-t’il ici un problème de compatibilité ? Quelqu’un a-t’il rencontré le même problème. Merci d’avance pour vos commentaires.

    • J’ai eu un problème similaire après des maj de spip (2.xx) modifiant les bases sql.
      Même après avoir vidé les caches du navigateur (ne pas oublier !) et des sites. Pourtant, à l’extérieur, tout était ok.
      Revenu une semaine plus tard sur un des sites, il fonctionnait sur mon pc mais les autres étaient encore en rade.
      La seule différence là où cela ne fonctionnait pas : des proxy supplémentaires.
      A priori, les requêtes s’appuyaient sur des formulaires en cache obsolètes.
      J’ai utilisé la méthode « nescape » que je connaissais avec son remplaçant firefox :
      recharger le formulaire, touche « alt » appuyée.
      Le résultat est une demande de rafraîchissement de la page à l’ensemble des intermédiaires, pour éviter que l’un d’eux nous serve un truc en cache.
      Tout est revenu normal

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom