Catégorie : PHP

  • Le favicon et le App Icon

    Le favicon est cette petite icône que l'on retrouve à gauche de la barre d'URL du navigateur ou de l'onglet de la page Web. L'App Icon, quant à lui, est l'icône que l'on retrouve sur un appareil mobile lorsqu'on crée un raccourci vers un site Web.

    Dans cet article, je vous explique comment créer le favicon à partir d'une image ou à partir de zéro puis comment l'intégrer à votre site Web. Je vous explique également comment créer et intégrer un App Icon. (suite…)

  • $this vs &$this

    Lorsque vous programmez dans WordPress, il arrivera tôt ou tard un moment où vous devrez associer une fonction de rappel à un hook.

    Plusieurs syntaxes sont utilisées pour y arriver. Mais laquelle choisir ?

    (suite…)
  • configuration.inc ou configuration.php ?

    Il est intéressant de regrouper dans un même fichier toutes les instructions qui doivent être effectuées au début du programme, avant-même que la balise <!DOCTYPE> soit envoyée au navigateur. Ceci nous permettra, notamment, d'effectuer une redirection après avoir effectué un traitement donné. Si des données avaient été envoyées au navigateur, la redirection n'aurait pas été permise.

    (suite…)
  • PHP : require, require_once, include, include_once

    PHP offre différents moyens d'inclure des fichiers dans un script permettant de générer une page Web : require, require_once, include, include_once. Ceci permet notamment d'éviter de recopier dans chaque page le code qui génère les différentes parties communes comme l'entête et le pied de page. On pourra également inclure des fichiers contenant du code qui n'est pas destiné à générer du code HTML, comme le branchement à la base de données ou une bibliothèque de fonctions PHP.

    Cet article vous présente les différences entre ces quatre instructions.

    (suite…)
  • PHP : Sécuriser les fichiers .inc

    Un fichier .inc contient le même genre de code qu'un fichier .php. Cependant, par convention, on utilise l'extension .inc pour indiquer qu'il ne s'agit pas d'une page Web mais plutôt d'un fichier non autonome, qui sera INClus dans un autre. On pourrait par exemple avoir un fichier .inc qui contient l'information à placer au début de chaque page Web du site, un autre fichier .inc qui contient les information à placer à la fin de chacune des pages, etc.

    Normalement, un fichier .inc devrait par défaut jouir des mêmes protections qu'un fichier .php. Les configurations du serveur peuvent cependant offrir des protections différentes.

    (suite…)
  • Comment empêcher PHP d’afficher les messages d’erreurs en mode production

    Pendant le débogage d'un programme, plutôt que d'utiliser un débogueur, nous choisissons parfois d'afficher une variable à l'écran pour vérifier sa valeur. Mais pour nous assurer que cet affichage ne pourra pas avoir lieu lorsque le site sera en production (en cas où on oublierait d'effacer l'instruction qui l'affiche), nous utilisons notre fonction maison echo_debug().

    Il serait intéressant d'appliquer la même logique aux messages d'erreur générés par PHP. En effet, lorsqu'un programme PHP rencontre du code pour lequel il a un message à envoyer, comme par exemple une erreur fatale, un avertissement ou l'utilisation d'une fonction obsolète, le message est automatiquement affiché à l'écran. Ce comportement est très pratique pendant la phase de développement. Cependant, une fois le site en production, ces messages peuvent ouvrir des trous de sécurité puisque le nom et le chemin du fichier concerné sont affichés.

    (suite…)
  • PHP : Comment choisir entre $mysqli‑>prepare() et $mysqli‑>query() ?

    Plusieurs techniques permettent d'effectuer des requêtes MySQL avec PHP. Prenons l'extension MySQLi. Elle permet notamment d'effectuer une requête à l'aide de $mysqli‑>query() ou, pour plus de sécurité, à l'aide de $mysqli‑>prepare(). Mais si $mysqli‑>prepare() est plus sécuritaire, doit-on pour autant éviter d'utiliser $mysqli‑>query() ?

    (suite…)
  • Quelques types d’attaques

    En tant que développeur Web, vous devez être au courant des attaques qui pourraient être menées contre les sites que vous développez. Ceci vous permettra de mieux protéger votre code et vos données.

    Cet article vous présente trois types d'attaques : les injections SQL, les attaques XSS et les attaques CSRF. Soyez avisé qu'il existe de nombreux autres types d'attaques. Ceci ne constitue qu'un minimum à connaître. De plus, les descriptions et exemples présentés ici ne constituent qu'une partie des techniques mises en place par les utilisateurs malveillants.

    (suite…)