Archives mensuelles : septembre 2013

Protéger son site

Concrètement un hacker va essayer d’accéder à des répertoires présent sur votre serveur à l’aveugle en suivant une certaine logique, car qu’il s’agisse d’un site codé à la main ou avec un CMS, les arborescences sont souvent connues ou évidentes.

Pour empêcher le hacker de se balader sur votre site en se basant sur les URL affichées dans la barre de navigation, et ainsi rendre impossible l’accés aux répertoires importants, et de le rediriger sans cesse vers la page d’accueil de votre site, et ce grâce à une ligne de PHP.

<?php header("Location: http://monsite.fr"); ?>

placez cette ligne dans un fichier index.php et copiez ce fichier dans tous vos répertoires sensibles.

Connaitre le chemin absolu d’un dossier sur un Serveur

Créez un fichier chemin.php contenant ceci

<?php echo realpath('chemin.php'); ?>

puis envoyez ce fichier sur sur votre serveur à l’intérieur du dossier voulu, puis avec votre navigateur atteignez l’url de ce fichier chemin.php, oh magie ;)

peut être pratique pour créer un .htaccess avec .htpasswd, en effet pour AuthuserFile le chemin doit être en absolu..

<files wp-login.php>
   AuthName "Page d'administration protégée"
   AuthType Basic
   AuthUserFile "/homepages/20/.htpasswd"
   require valid-user
</files>

Gérer son serveur MySQL

Quelques commandes de bases pour administrer, gérer un serveur MySQL sous Linux

Installation

Installez le paquet  mysql-server.

Démarrage
Pour démarrer le serveur MySQL, tapez la commande suivante dans un terminal :

sudo service mysql start

Redémarrage
Pour redémarrer le serveur MySQL, tapez la commande suivante dans un terminal :

sudo service mysql restart

Arrêt
Pour arrêter le serveur MySQL, tapez la commande suivante dans un terminal :

sudo service mysql stop

Rechargement de la configuration
Pour que MySQL prenne en compte les modifications de sa configuration, tapez la commande suivante dans un terminal :

sudo service mysql reload

Forcer la prise en compte de la nouvelle configuration
Pour forcer MySQL à recharger ses fichiers de configuration, tapez la commande suivante dans un terminal :

sudo service mysql force-reload

La Balise META «robots»

Cette balise est prise en compte par Google et les autres moteurs et sert à définir des restrictions au robot qui vient crawler la page.
Il est possible d’indiquer des restriction de manière individuelle aux différents bots (google ou yahoo par ex) a fin quelles s’appliquent qu’au moteur spécifié.

 Les différentes valeurs possibles pour la balise meta robots :

  • noindex : indique au robot qu’il ne faut pas indexer la page. Cela ne signifie pas que le robot ne va pas la crawler : pour cela il faut utiliser le fichier robots.txt
  • nofollow : indique au robot qu’il ne faut pas suivre les liens dans la page. Cela signifie que Google n’ira pas crawler les pages liées par la page contenant cette balise meta robots.
  • index : indique au robot qu’il peut indexer la page.
  • follow : indique au robot qu’il peut suivre les liens dans la page.
  • all : équivalent de  »index,follow ».
  • none : équivalent de « noindex,nofollow ».
  • nosnippet : indique au robot qu’il ne faut pas afficher de descriptif (snippet) dans la page de résultats.
  • noarchive : indique au robot qu’il ne faut pas laisser l’accès à la version en cache.
  • noodp : indique au robot qu’il ne faut pas utiliser les données et les associées dans l’annuaire DMOZ.
  • unavailable_after:[date] : indique au robot que la page ne doit pas ressortir dans les résultats après la date indiquée.

Les balises META facultatives

  1. Robots
  2. Googlebot
  3. Publisher: personne ou organisme publiant le site.
  4. Reply-topermet de donner une adresse de contact pour la page.
  5. Syndication-source: en cas de la syndication de contenus,  sert à indiquer l’URL de l’article original.
  6. Original-source: dans le cas où un article a été rédigé à partir de plusieurs sources.
  7. Pragma: interdire l’enregistrement de la page dans la mémoire cache des navigateurs.
  8. Cache-control:  niveau de cache 4 valeurs possibles de la plus permissive à la plus restrictive « public » « private » « no-cache» « no-store ».
  9. Expiresindiquer que la page expire après une certaine date et ques son contenu sera « perimé ».
  10. Copyright: comme son nom l’indique.
1-2
<meta name="robots" content="index, follow" /><meta name="googlebot" content="index, nosnippet, noarchive" />

3
<meta name="Publisher" content="LALANDRE Thierry" />

4
<meta name="Reply-to" content="contact@site.fr" />

5
<meta name="syndication-source" content="lesite.fr" />

6
<meta name="original-source" content="lesite.fr" />

7
<meta http-equiv="pragma" content="no-cache">

8
<meta http-equiv="Cache-control" content="private" />

9
<meta name="expires" content="mon,30 Sep 2013 9:00:00 GMT" />

10
<meta name="copyright" content="LALANDRE Thierry" />

Les balises META essentielles

  • balise title
  • balise meta content-type
  • balise meta description
  • balise meta charset
  • balise meta language

 

<title> titre de la page </title>

Par défaut, celle-ci doit être d’environ 70 caractères. Cela peut être plus mais seul les 70 premiers caractères sont affichés pour un titre dans les résultats de Google d’où cette limitation mais sachez pour information que plusieurs centaines de caractères sont pris en comptes. Votre titre doit absolument contenir les mots-clefs les plus importants de votre page.

 

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Cette balise sert à préciser le jeu de caractères utilisé pour le codage de la page.

 

<meta name="description" content="…" />

Sert à décrire le contenu d’une page web et peut contenir jusqu’à 1000 caractères. Il est impératif qu’elle soit renseignée car c’est elle qui sera affichée comme description de votre page dans les résultats de recherche.

 

<meta http-equiv="Content-Language" content="fr" />

Si votre page est en plusieurs langues, séparez ces codes par des virgules.

En bref:

<title> titre de la page </title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="description" content="…" />
<meta http-equiv="Content-Language" content="fr" />

Des outils pour le Responsive design

adobe_edge_relow

 

Adobe edge Reflow

Créez des pages adaptatives grâce à une interface intuitive

isotope

Isotope

Ce plugin jQuery est conçu pour réorganiser le contenu d’une page web à toute résolution

reverie

Reverie

Reverie est un framework WordPress HTML5, un thème responsive facilement.

style tiles

Style TILES

Un template qui permet de créer une présentation visuelle simple de votre design

Enlever le terme « Accueil » sur votre site WordPress

Copier cette fonction dans le fichier functions.php

function home_page_menu_args( $args ) {
 $args['show_home'] = false;
 return $args;
}
add_filter( 'wp_page_menu_args', 'home_page_menu_args' );

Attention ce code dans être placé à l’intérieur de votre fonction attachée au hook after_setup_theme

en dessous de cette ligne par exemple:

add_theme_support( 'post-formats', array( 'aside', 'image', 'video', 'quote', 'link' ) );

Serveur Mail Linux & Postfix

Pour créer une nouvelle adresse email, il faut  créer une entrée dans la table « users » de Postfix  mais il y a une petite subtilité, il faut envoyer un mail de test en utilisant le protocole telnet, cela permet de tester l’adresse et de créer le répertoire pour les mails.

Vous devez vous connecter en SSH avec le login root  sur le serveur et faire les commandes suivantes pour redémarrer Postfix:

service postfix stop 
newaliases 
service postfix start

Ensuite connectez-vous au serveur SMTP avec:

telnet 127.0.0.1 25

Et enfin vous envoyez le mail de test comme ceci:

ehlo votredomaine.fr
mail from: <uneadresse@quelconque.com>
rcpt to: <nouveaumail@votredomaine.fr>
data

Seulement « data », appuyez sur entrée et écrivez le corps du message.
Pour finir l’édition du texte, appuyez sur Entrée, puis mettez un point ‘.‘ et à nouveau Entrée.
Vous devriez avoir des codes 250 Ok dans votre console.
Si c’est le cas c’est bon et vous pouvez utilisez la commande « quit ».