Vous consultez les articles de la catégorie Ez publish
Juil
28

La vérité sur le cache ttl d’ez publish

Voilà un petit retour suite à une longue investigation sur le fameux

{set-block scope=root variable=cache_ttl}0{/set-block}

Cette ligne permet d’invalider le cache de vue (cache content) de TOUTE la page.

Voici les différents cas dans lesquels le cache va être invalidé :

Déclaration de cette ligne dans les templates suivants :

• Le content view (c’est le template qui se charge d’afficher le rendu de $module_result.content, dans la plupart du temps la view full)

• N’importe quel template inclus à partir du template utilisé pour le content view

• Dans un template qui utilise un opérateur qui va renvoyer le contenu d’un autre template qui va contenir le cache ttl à 0

Lire la suite

Juil
28

Recommandations de sécurité Ez publish et PHP

Failles xss

Avec Ez Publish

Utiliser la fonction wash() sur les variables dans les templates, surtout sur les variables pouvant être modifiées par l’utilisateur (paramètres d’url, champs de formulaire, etc)

En PHP

La stratégie de protection principale contre les injections HTML est la même que pour toutes les injections. Il est recommandé d’implémenter une fonction de filtrage en entrée et une fonction d’encodage en HTML en sortie.

L’encodage en sortie peut être effectué par deux fonctions en PHP :

htmlspecialchars() remplace tous les caractères qui ont une signification spéciale en HTML par leur entité HTML. Cette fonction va cibler les caractères suivants :

  • &, le « et commercial », qui commence les séquences HTML (telles que &) ;
  • ‘, les guillemets simples, utilisés dans les attributs ;
  • , les guillemets doubles, utilisés dans les attributs ;
  • < et >, les signes « inférieur à » et « supérieur à », qui délimitent une balise.

htmlentities() est une version plus complète de htmlspecialchars(), elle remplace dans une chaîne tous les caractères possibles par leur séquence HTML. Il est possible de spécifier le masque et l’encodage à utiliser

<a href="http://www.php.net/htmlentities" target="blank">htmlentities</a>($str, ENT_QUOTES, 'UTF-8');
Déc
12

Ez Publish – Générer un table des matières à partir d’un contenu xml_block

Pour générer une table des matières à partir des différents niveaux de titre (h2, h3, …)  présent dans votre contenu (saisi via l’éditeur wysiwyg) , il suffit d’utiliser le template operator « eztoc » fourni par ezpublish dans votre template. Et vous obtiendrez des jolies ancres vers votre contenu.

 

{* body is ezxml datatype*}
{eztoc( $node.object.data_map.body )}
Déc
7

Metas keywords et description différents selon la page avec Ez Publish

Author Appo    Category CMS, Ez publish     Tags

Par défaut, Ez publish permet de gérer via son interface d’admin les mots clés et la description que l’on souhaite avoir sur son site, le problème est que ces mots clés seront les mêmes pour toutes les pages.

Pas de panique, il est possible assez facilement de modifier cela pour avoir des mots clés et des descriptions différentes pour chaque page.

Pour cela, il suffit de rajouter dans vos classes 2 champs, un champs meta_keys et un champs meta_description de type champs texte

Ensuite, créer un override du fichier page_head.tpl et remplacer

{section name=meta loop=$site.meta}
 &lt;meta name="{$meta:key|wash}" content="{$meta:item|wash}" /&gt;
 
 {/section}

par

{def $node_metas=fetch(content, node, hash(node_id, $module_result.node_id))}
 {if ne('',$node_metas.object.data_map.meta_description.content)}
 &lt;meta name="description" content="{$node_metas.object.data_map.meta_description.content}" /&gt;
 {else}
 &lt;meta name="description" content="{$site.meta.description}" /&gt;
 {/if}
 
 {if ne('',$node_metas.object.data_map.meta_keys.content)}
 &lt;meta name="keywords" content="{$node_metas.object.data_map.meta_keys.content}" /&gt;
 {else}
 &lt;meta name="keywords" content="{$site.meta.keywords}" /&gt;
 {/if}
{/undef}

Attention dans l’extrait de code, les < et > des débuts et fin de balise ont été convertis par WordPress, pensez à les remplacer.

Déc
6

Résoudre le problème des sub-item dans Ez 4.4

Author Appo    Category CMS, Ez publish     Tags

Si vous décidez de configurer le site pour enlever le index.php, il se peut d’avoir un problème avec l’affichage dans l’admin des subitems et des boutons  pour pouvoir en ajouter.

Ceci est un problème de htaccess. En effet, Ez ne trouve pas le chemin des fichiers JS. Il suffit de rajouter dans le htaccess*

RewriteRule ^extension/[^/]+/design/[^/]+/.* - [L]
Déc
2

Réinitialiser un mot de passe dans Ez Publish

Il peut arriver de perdre le mot de passe de l’utilisateur admin (oui oui ça arrive).

Dans ce cas, pas de panique, il existe une solution simple pour réinitialiser ce mot de passe.

Pour cela, ouvrez votre éditeur SQL (phpmyadmin par exemple) et executer la requete suivante

SET @key = 'votrenouveaumotdepasse';
SET @username = 'admin';
SET @del = '\n';
SET @hash = MD5(CONCAT(@username,@del,@key));
UPDATE ezuser SET password_hash=@hash WHERE login=@username;

Et voilà, vous avez réinitialiser le mot de passe de votre admin!

Vous trouverez d’autres méthodes ici

Fév
25

eZ Publish – Désactivaction du cache

Pour désactiver le cache d’eZPublish, modifier le fichier settings/override/site.ini.append.php comme suit :

[OverrideSettings]
Cache=disabled
 
[ContentSettings]
ViewCaching=disabled
PreviewCacheUsers=disabled
PreViewCache=disabled
 
[TemplateSettings]
TemplateCache=disabled
TemplateCompile=disabled
NodeTreeCaching=disabled
Debug=disabled
ShowXHTMLCode=disabled
ShowUsedTemplates=enabled
Jan
4

Problème avec les extensions Ez publish

Avec la version 4.2 d’Ez publish il se peut que certaines extensions ne fonctionnent plus et affiche le message suivant

1
2
3
4
5
6
7
8
La page demandée n'a pu être affichée. (1)
 
Le système ne peut pas afficher la page en raison d'un problème de sécurité.
 
Raisons possibles:
 
    * Cliquez sur le bouton "Identification" afin de vous identifier.
    * La page demandée n'existe pas. Essayer de changer d'URL.
La page demandée n'a pu être affichée. (1)

Le système ne peut pas afficher la page en raison d'un problème de sécurité.

Raisons possibles:

    * Cliquez sur le bouton "Identification" afin de vous identifier.
    * La page demandée n'existe pas. Essayer de changer d'URL.

Il s’agit en fait d’un problème de permissions que l’on peut facilement contourner avec une propriété dans un fichier de config.

http://ez.no/doc/ez_publish/technical_manual/4_x/reference/configuration_files/site_ini/rolesettings/policyomitlist

Dans ce cas il suffit d’éditer le fichier site.ini.append.php dans settings/override et ajouter

[RoleSettings]
PolicyOmitList[]=nomExtension
Nov
20

Changer l’icone d’une classe dans la partie admin d’Ez Publish

Il suffit de faire un override du fichier icon.ini dans le dossier settings/siteaccess/NOMDUSITE_admin

Appeler ce fichier icon.ini.append.php (normalement il existe déjà)

Ensuite, ajouter

[ClassIcons]
ClassMap[categorie]=filesystems/folder.png

Remplacer « categorie » par le nom de votre classe et le chemin vers l’image que vous souhaitez mettre.

Le chemin sera le chemin relatif de l’icône par rapport au répertoire share/icons/crystal-admin/16x16_indexed/

Edito

Bienvenue sur Mémorandom.

Mémorandom est le blog de 2 développeurs web, Appo et Nico.

Vous y trouverez des informations sur différents domaines touchant de près ou de loin au développement web

Tutoriels Yii Framework

Nos derniers articles

Blogs Dev

Liens

Étiquettes