Squelettes SPIP Reset !

Un squelette pour ne rien publier ! Il ne fait rien, mais il le fait à fond !

Objectif

Voici un squelette dont le but est d’éviter que du contenu puisse percoler via les squelettes de la dist.

En effet, lorsque l’on crée un site sous SPIP, il est rarissime de surcharger tous les squelettes de la dist. Du coup, des informations qu’on ne souhaitait pas forcément voir sur Internet se trouvent pourtant diffusée via les squelettes de la dist.

Un exemple : le squelette auteur.html diffuse 2 informations :

  • Le nom de l’auteur
  • la liste des articles de cet auteur

Or, on peut avoir voulu, pour une raison où une autre, ne pas rendre publics tous les articles du site. Et cette page auteur provoque donc une faille dans ce bel édifice...

Méthode

Le squelette surcharge donc tous les fichiers de squelettes de la dist (sauf celui de robots et de favicon).

  • Les pages classiques redirigent vers la page 404
  • Les flux RSS sont vidés de leur contenu
  • La page 404 affiche un message à l’attention des hackeurs du dimanche et un logo de SPIP
Page 404 de SPIP Reset !

Usage

  • Télécharger le plugin SPIP Reset et le mettre dans le dossier plugins/ de SPIP
  • Activer le plugin : le site est vide
  • Faire son propre dossier squelettes/ et y mettre un squelette : ce dernier est prioritaire par rapport à celui du plugin
  • Avec un squelette sous forme de plugin, il faut rajouter dans le plugin.xml une ligne utilise :

<utilise id="spip_reset" version="[1.0;]" />

Discussion

10 discussions

  • 2
    Jol.gloubi

    Salut à tous,
    Je trouve le plugin reset très utile, mais comment faire pour qu’il ne désactive pas les RSS ? Même en mettant le fichier backend dans /squelettes, il les désactive encore.
    Merci !

    • Bonjour,

      J’ai le même problème. Avez vous trouver une solution ?

    • Bonjour,
      La réponse semble simple :
      1. recopier dans votre dossier /squelettes tous les fichiers de /squelettes-dist qui concernent le protocole rss soit :
      inc-rss-item.html
      rss_forum_article.html
      rss_forum_breve.html
      rss_forum_rubrique.html
      rss_forum_syndic.html
      rss_forum_thread.html

      2. alternative :
      si vous dispôsez d’un jeu de squelette téléchargé et installé, veiller à ce que votre jeu de squelettes qui doit inclure un traitement rss soit prioritaire sur le jeu par defaut

      2 liens utiles :
      http://www.spip.net/fr_article3347.html
      http://programmer.spip.net/Surcharg...

    Répondre à ce message

  • Bonjour

    lorsque j’utilise la lame de mise à jour automatiques du couteau suisse, le plugin est toujours marqué comme étant à mettre à jour.
    En fait, il semblerait qu’il y ait une version 68379 disponible mais pas publiée dans le zip mis en téléchargement sur cette page.
    Je ne sais pas comment faire pour actualiser le zip avec la dernière version.
    Si quelqu’un peut m’aider...

    En vous remerciant.

    Répondre à ce message

  • Sur l’approche, je ne suis pas sûr que la « fausse » 404 du site soit une réponse appropriée pour traiter ce genre de cas.

    2 cas, à prendre en compte, selon moi :

    • Soit la page a eu une existence physique non souhaitée et a déjà été indexée par Google => erreur 410 avec le header correspondant et une jolie mise en forme au même titre que la 404
    • Soit la page n’a pas encore eu le temps d’exister (cas d’un site en pré-prod) => redirection 301 vers la home ou le secteur le plus approprié AVANT le lancement du site.

    Dans les 2 cas, un meta que je recommande toujours de placer au lancement d’un site (même si sa prise en compte est plus qu’aléatoire en ce qui concerne Google) :

    <meta name="robots" content="index, follow, noarchive"/>

    le noarchive ici, indique aux moteurs de recherche de ne pas maintenir de version de votre page dans leur cache public.

    Vu que, quoiqu’il arrive, il faut souvent plusieurs semaines pour que l’une des directives 410 ou 301, soit prise en compte par les moteurs lorsqu’elle a été appliquée après coup, cela est supposé vous prémunir contre une éventuelle copie accessible de la page en cache Google alors que vous, vous l’avez bien dépubliée depuis 3 semaines ... (cas vécu !)

    Répondre à ce message

  • 1

    je voulais savoir « comment » le plugin prenait la main sur les squelettes de la dist ? Quel est le mécanisme qui provoque cela ?

    Comment « ça marche » tout ça, d’autant que, apparemment, le contenu de chacun des fichiers n’a pas d’importance => on est toujours redirigé vers 404.html...

    Merci d’avance pour les explications !

    Répondre à ce message

  • 2

    La trousse à tetue fait cela en mieux.

    Un message neutre en 404 serait bien plus approprié que de supposer que l’utilisateur a fait autre chose que suivre une page référencée par Google que le concepteur a « oublié » de traiter...

    • Merci pour le lien vers la trousse de tetue. Mais celle-ci fait beaucoup plus de choses que ce plugin.

      Quant à la page 404 accusatrice, pourquoi pas un message plus neutre. Mais en même temps, la page 404 a elle aussi vocation à être dans la charte du site. Donc, cette page se veut une incitation forte à ne pas l’oublier.

    • Merci pour la citation. Pour compléter voici un article qui explique simplement comment « zapper les squelettes par défaut de SPIP », comme le font ces deux plugins.

    Répondre à ce message

  • 1

    Erreur de lien de téléchargement...

    Le bon lien est :
    http://files.spip.org/spip-zone/squelette_spip_reset.zip

    Répondre à ce message

  • 3

    Bonjour,
    et d’abord un grand merci pour ce plugin bien utile.
    Je tente de l’utiliser avec Zpip et dans ce cadre je n’ai pas de dossier squelettes/ mais un dossier themes/
    Possible de rendre compatible SPIP Reset et Zpip ?

    • dans le dossier du plugin zpip, ouvrez le fichier plugin.xml

      ajouter dedans <utilise id="spip_reset" version="[1.0;]" /> (entre les balises plugin)

      n’oubliez pas de rétablir cela après chaque mise à jour de ZPIP.

    • désolé ça ne marche pas qd même.
      Mais en fait je crois que ça ne peut pas marcher : les thèmes sont justement faits pour afficher n’importe quelle page. Je ne vois pas comment SPIP Reset pourrait faire le tri entre les pages autorisées et les pages interdites....

    • non les thèmes ne sont pas fait pour afficher n’importe quel page ... ce sont les squeletets qui gèrent cela.

      En gros les squelettes appellent la page body des thèmes. Si votre squelette est vide, il n’appel rien.

      Avez vous une adresse exemple ?

    Répondre à ce message

  • Excellente idée de plugin. Voilà qui devrait même être implémenté dans les options par défaut de configuration du site.

    Répondre à ce message

  • 2

    C’est bien comme plugin mais j’ai dû le désactiver car il rentre en conflit avec la prévisualisation des articles (si celle-ci est activée !).

    En effet j’obtiens une page 404 si j’essaie de consulter en prévisualisation un article.

    Précision : ce conflit est noté en SPIP 2.1.0-beta [15159] (avec SQLite) en local wamp 5, je n’ai pas ce conflit sur un site en production SPIP 2.0.10 [15163] avec MYSQL 5 (donc c’est tout bon pour le site en prod).

    @+

    • Si tu n’as pas défini explicitement un squelette article.html qui surcharge celui de ce plugin, c’est absolument normal.

      Puisque que le rôle de ce plugin, c’est de vider l’espace public de tout contenu via des squelettes qui renvoient une 404.

    • bonsoir,

      effectivement c’est cela le problème, je testais SPIP2.1 en local te j’avais pas encore de squelette pour article à part celui de la dist....je comprends mieux le fonctionnement de ton plugin.

      @+

    Répondre à ce message

  • 1

    Et pour les vraies 404 , les liens morts etc ... c’est pertinent de présumer que le visiteur est animé par une volonté d’intrusion ?

    Nat33

    • La page 404 a bien sûr à être définie dans le squelette que l’on développe.

      Cette page dans le plugin est aussi une incitation à la changer.

    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