Catégorie : PHP

  • Classe Cri_Nonce pour gérer les nonces

    Les nonces (Number used ONCE, c'est-à-dire numéro utilisé une seule fois) sont un mécanisme permettant de valider l'origine d'une requête HTTP.

    Ils permettent d'assurer, avant d'effectuer un traitement, que l'envoi du formulaire ou le clic sur le lien ayant déclenché l'action provient bel et bien de votre site et non d'un script ou d'un lien malicieux.

    Ceci permet notamment de prévenir les attaques CSRF (Cross Site Request Forgery) et les attaques par rejeu (replay attack).

    Si vous souhaitez mieux comprendre ce qu'est un nonce et quel est son cycle de vie, cet article est pour vous. De plus, je vous fournis ici le code de la classe Cri_Nonce, que j'ai créée pour gérer les nonces.

    (suite…)
  • Modifier la base de données avec jQuery.ajax()

    Une autre application intéressante d'AJAX consiste à ajouter, modifier ou supprimer des informations dans la base de données. Par exemple, si un usager ajoute un commentaire sur une page Web, son commentaire pourrait, grâce à AJAX, être enregistré sans que la page ait besoin d'être rechargée. 

    Encore une fois, ceci améliorera l'expérience utilisateur.

    Mais attention : il faudra mettre en place des mécanismes de protection afin d'éviter que des utilisateurs malveillants s'emparent du code AJAX pour modifier les données d'une façon non souhaitable. Les nonces sont tout désignées pour cela.

    (suite…)
  • Remplir une liste déroulante à l’aide de jQuery.ajax()

    Voici une figure de cas intéressante : une page Web écrite en PHP affiche un formulaire qui contient, entre autres, une liste déroulante. Les valeurs de cette liste sont tirées de la base de données.

    On pourra faire appel à jQuery.ajax() pour remplir cette liste déroulante dès que le DOM sera chargé en mémoire. De cette façon, le code HTML de la page sera affiché le plus rapidement possible. La lecture dans la base de données pour remplir la liste déroulante sera donc effectuée dans un deuxième temps, sans ralentir l'affichage initial.

    (suite…)
  • Écrire le code PHP qui sera exécuté par AJAX

    Les appels AJAX ouvrent la porte à une meilleure expérience utilisateur en permettant d'exécuter une fonction serveur à partir du client. Le code serveur est donc exécuté (ex : une lecture ou une écriture dans la base de données) sans que la page ne subisse un postback.

    En PHP, le code qui sera appelé par AJAX sera placé dans son propre fichier .php.

    (suite…)
  • Développer un formulaire Web ergonomique

    La majorité des sites Web comportent au moins un formulaire : pour entrer des commentaires, pour entrer en contact avec l'administrateur, pour gérer les données si on a les droits requis, etc.

    Votre expérience en tant qu'utilisateur de différents sites Web vous a sans doute démontré que certains formulaires sont très rapides à remplir alors que d'autres prennent une éternité. Certains sont agréables alors que d'autres sont carrément mal conçus. Certains sont clairs alors que pour d'autres, on se demande qu'est-ce qui est attendu de nous.

    Ces différences ne sont pas dues au hasard. En tant que développeur Web, vous devez connaître les principales règles qui permettront de rendre un formulaire Web ergonomique. Voici donc quelques-unes des meilleures pratiques pour développer un formulaire.

    (suite…)
  • PHP : $_SERVER[‘SCRIPT_NAME’] vs $_SERVER[‘REQUEST_URI’]

    Les variables d'environnement de PHP nous offrent toute l'information nécessaire pour connaître le nom de la page Web actuellement affichée. Ceci sera pratique si on doit faire un traitement particulier lorsqu'on est sur la page d'accueil ou encore sur la page de demande d'information. Ceci permettra également d'utiliser du code commun à toutes les pages mais qui permet une personnalisation selon la page affichée. 

    (suite…)
  • Un chiffrier Excel pour effectuer les tests fonctionnels

    Tous les logiciels en développement doivent faire l'objet de différents tests pour assurer que :

    • le logiciel ne comporte aucun bogue;
    • le logiciel répond à ce que le client a demandé;
    • le logiciel traite les données comme il se doit;
    • le logiciel répond aux exigences de performance demandées.

    Je vous propose ici un chiffrier Excel pour faciliter la documentation de vos tests.

    (suite…)