Développement web

5 articles dans cette catégorie
Sep 29

Protéger le dossier administrator de Joomla en le faisant disparaitre !

Par défaut la page qui permet de se connecter à l'interface d'administration (que certains appellent le « back-end ») d'un site Joomla est accessible à tout le monde. Il suffit d'ajouter /administrator après le nom de domaine du site et on y est. On peut facilement trouver ce genre de page sur n'importe quel CMS. Sur Wordpress, par exemple, il faut se rendre dans le dossier /wp-admin.

Normalement, c'est à dire sans composants tiers installés et si les régles élémentaires propres à la gestion d'un site web ont bien été appliquées,  le fait que cette page soit visible de tous n'est généralement pas un problème. Mais comme il vaut mieux prévenir que guérir et pour décourager les éventuels hackers, robots et autres curieux qui viendraient s'aventurer dans des endroits ou ils ne sont pas censés êtres, pourquoi ne pas tout simplement se débarrasser du dossier "administrator" en la rendant invisible!

Si vous voulez une petite démo, pour mieux vous rendre compte de ce que cela peut donner , essayer d'ajouter /administrator après shantee.com.

C'est rapide à mettre en place, il n'y a même pas besoin d'installer ou de modifier quoique ce soit au CMS que vous utilisez. Voici comment procéder.

1) Créez un fichier .htaccess dans le répertoire que vous souhaitez cacher. Dans le cas de Joomla on le créera donc à l'intérieur du répertoire /administrator.

Copiez les lignes suivantes dans votre .htaccess :

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_COOKIE} ! moncookiemagique .*$ [NC]
RewriteRule .* http://www.shantee.com [R=301,NC,L]

moncookiemagique  est le nom du cookie qui sera nécessaire pour accéder au contenu du dossier /administrator. Si une personne se présente à cette adresse sans ce cookie spécial elle sera automatiquement redirigé vers la page d'accueil du site. Vous pouvez bien sûr changer le nom du cookie, ainsi que l'adresse du site pour la redirection.

2) Créez un nouveau dossier à la racine de votre site. Donnez lui le nom que vous voulez, soyez créatif !
A l'intérieur de ce dossier créez un fichier index.php et copiez y les lignes suivantes :

$admin_cookie_code=" moncookiemagique ";
setcookie(" moncookiemagique ",$admin_cookie_code,0,"/");
header("Location: http://www.shantee.com/administrator/index.php");


Ce script sert à créer un cookie nommé « moncookiemagique » et ce sera donc ce cookie spécial qui autorisera l’accès au dossier "administrator".


3) C'est tout !

Désormais, si vous souhaitez vous connecter à votre interface d'administrateur vous devrez obligatoirement passer par ce nouveau dossier que vous aurez créé. Cela aura pour effet de vous rediriger vers le dossier /administrator avec le cookie qui sert de clé et sans lequel vous seriez redirigez sur la page d'accueil de votre site. 
Au final c'est un peu comme si on avait renommé le dossier administrator de Joomla.

J'ai pris Joomla en exemple, mais comme vous l'aurez compris tout ça est également valable pour Wordpress, Drupal et n'importe quel autre CMS.

Cette protection supplémentaire est une des mesures de sécurité spécifiques que je mets en place sur chaque nouveau projet de création de sites Internet qui m'est confié et qui sont comprises dans les offres "pack" que je propose.

 

Bien qu'efficace, en bloquant toutes les attaques exploitant les fichiers du dossier /administrator cette méthode ne dispense évidemment pas de toujours utiliser des mots de passe suffisamment long et surtout uniques.

Lire la suite
Fév 08

Charger des scripts et des CSS spécifiques dans n'importe quelle page sur Joomla

En ce moment il semblerait que pour l'habillage d'un site internet la mode soit aux designs épurés, lisses , plats, propres. Mais quand on essaye de voir ce qui se cache au delà de l'apparence (clique droit > afficher la source) il arrive que l'on s’aperçoive que la propreté ait été oubliée côté code!

Vous êtes sûrement déjà tombé sur ce genre de site : une grosses entête avec une photo haute définition en fond, pas mal d'informations voire toutes les informations sur la page d'accueil, des animations quand on déroule la page, des effets spéciaux au survole de images avec la souris, bref bien souvent pas mal de javascript et de CSS pour afficher tout ça.

Je ne suis pas contre le javascript bien au contraire, mais le problème avec ces scripts et ces fichiers CSS qui sont chargés dans nos pages c'est que bien souvent seulement la moitié est réellement utilisée dans le document affiché, le reste n'a aucune utilité...et donc....ne devrait pas être chargé!

Avec Joomla, mais c'est également le cas pour la plupart des CMS (Wordpress y compris!) il est difficile de bien contrôler ce qui se charge dans chaque page et quand on à besoin d'un fichier CSS ou Javascript supplémentaire quelque part, la solution pour beaucoup de personnes est d'éditer directement les fichiers du thème du site (le template). Quand ça ne créé pas de conflit avec d'autres scripts ça marche! Mais c'est plutôt moche et vraiment pas l'idéal quand on tient à optimiser son site pour les moteurs de recherche.

Voici donc , pour remédier à ce problème sur Joomla, une solution simple et efficace. Il s'agit du plugin Headtag que vous pouvez télécharger sur le site de son créateur. HeadTag permet d'ajouter des lignes dans la partie <head> d'une page sur Joomla. C'est donc très pratique pour ajouter des scripts, des fichiers CSS ou bien des meta tags particuliers sur n'importe quelle page.

 

Lire la suite
Nov 17

Un petit outil pour supprimer les commentaires HTML

"Outil" est peut être un bien grand mot pour cette petite fonction en javascript, mais quoiqu'il en soit cela m'est parfois bien pratique pour supprimer les commentaires HTML de  certains fichiers.

Pour l'utiliser c'est simple : copiez votre code , collez le dans la zone de texte et cliquez sur "nettoyer".

Mon petit outil n'a donc qu'une fonction : effacer les commentaires HTML. Il ne fait rien d'autre! Il ne va pas modifier votre code, ni le compresser ni l'améliorer ni quoique ce soit dans le genre.

  • fonctionne très bien avec Firefox et Chrome (je n'ai pas testé sur d'autres navigateurs)
  • marche aussi avec le code PHP (toujours pour supprimer les commentaires HTML <!-- example -->)
  • supprime les commentaires sur plusieurs lignes



Lire la suite
Mai 08

Quel est le nombre maximal de caractères qu'une adresse URL peur contenir ?

C'était la question que je me posais aujourd'hui.

Bien que le protocole HTTP ne spécifie pas de longueur maximale nos logiciels de navigation ou certaines configurations de serveur imposent quand même quelques limites.

 

Du coté des navigateurs il semblerait qu'internet explorer soit le plus strict en affichant un message d'erreur si l'URL dépasse 2083 caractères.

Firefox et Opéra quand à eux supportent des adresses URL beaucoup plus longues. Même si il ne devrait pas exister de telles adresses, ces navigateurs peuvent gérer une longueur de plus de 100 000 caractères!

 

En conclusion, quelle est la limite à ne pas franchir ?


Il n'existe donc pas de standard définissant de limite particulière, mais sachant qu'Internet Explorer impose une limite de 2083 caractères on peut dire que 2083 est à ne pas dépasser. En rêgle générale il est souvent plus intéressant de simplifier les choses. Si vous vous retrouvez avec des adresses de plus de 1000 caractères c'est qu'il y doit y avoir un problème quelque part.

Lire la suite
Sep 25

'ALT' et 'TITLE' sur les balises 'IMG'. Quelles différences ? Lequel est le meilleur pour le SEO?

Les différences entre ALT et TITLES Vous le savez sûrement déjà, mais je vous le rappelle, voici, dans sa forme la plus basique la méthode pour placer une image en HTML :

<img src="/image.png" alt="la description de mon image" />

Vous avez bien sûr remarqué la présence de l'attribut alt="" ? Cet attribut sert (normalement) à décrire l'image. Il s'affiche à la place de l'image quand celle-ci, pour une raison ou une autre ne peut pas le faire (par exemple si l'utilisateur à désactivé leurs affichages, ou en cas de connexion trop lente). Cet attribut peut rester vide (par exemple, dans le cas d'une toute petite image de décoration). Mais il doit quand même figurer à l'intérieur de la balise <img>si l'on veut que son code soit 100% valide.

 
Il est également possible d'affubler notre balise <img> d'un autre attribut : title="Un titre pour l'image". Comme son nom l'indique il sert à donner un titre à l'image et permet d'apporter une information supplémentaire à ceux qui vont la regarder. Oui je mets ces derniers mots en gras car ils expliquent la différence majeure entre ces deux attributs alt et title.
 
La balise alt sera alors plus destinée aux moteurs de recherche (comme MattCutts l'explique ici). Les moteurs comme Google vont donc analyser les informations que contiennent ces attributs (surtout le alt ^^) mais il est inutile et même déconseillé de les remplir de longues listes de mots clés dans l'espoir que cela fasse ressortir votre page en premier sur google. Prenons un exemple concret. Imaginons que je souhaite afficher une image d'un monument que j'aurais visité à Paris, voila comment je remplirais les attributs de ma balise <img>

<img src="/tour-eiffel.jpg" alt="photo de la tour Eiffel à Paris" title="Le plus haut monument de Paris!" />


Dans cette exemple parfait, l'attribut alt rempli bien sa fonction de base. C'est à dire qu'il décrit l'image qui est censée s'afficher. Quand à l'attribut title, il donne un petit plus au visiteur qui viendrait à passer sa souris sur ma photo. Vous remarquerez aussi que dans mon exemple j'ai même optimisé le titre du fichier image. C'est peut être un détail minime, mais avouez que "tour-eiffel.jpg" ça parle plus que "DSC000465.JPG" ou que "image1.jpg".
 

Alors pour conclure , d'entre le "alt" et le "title" lequel est le plus important pour son référencement  ?

 

Le plus important c'est évidemment l'attribut ALT puisque de toute manière il doit intégrer la balise <img> pour qu'on obtienne du HTML valide. C'est aussi l'attribut que les moteurs analyseront en priorité. Bien sûr, si vous souhaitez une optimisation parfaite, il n'y pas de raison de se priver de l'attribut title. Il vous fera perdre 20 secondes de plus à remplir mais dans le travail de SEO mieux vaut avoir le plus possible d'informations pertinentes que pas assez.
 
Oh, une dernière chose ! Avant, il n'y a encore pas si longtemps que ça, quand on passait la souris au dessus d'une image, le contenu de l'attribut alt s'affichait dans une bulle, désormais c'est le contenu de l'attribut title qui à pris cette fonction.
 
Lire la suite