Alertes sécurité des applications PHP et MySQL, édition 164


PHP et MySQL ne font l'objet d'aucune alerte de sécurité dans leurs versions courantes :
PHP 5.2.4 et 4.4.7; MySQL 5.0.45 (communauté) et 5.0.45 (entreprise), 4.1.22, ainsi que 5.1.21-beta. Les mises à jour sont recommandées vers ces versions.



3 alertes de sécurité ont été émises cette semaine, concernant des applications suivantes :
Gallery, Xoops et phpBB


[Lire plus]
Configurer les URL agiles

Le site de PHP.net est connu pour diriger les utilisateurs vers le manuel, dès qu'un nom de fonction PHP apparait dans l'URL : http://www.php.net/mysqli_connect
C'est une fonctionnalité qui est utilisée dans les applications où les recherches sont évidentes (par exemple chercher un utilisateur par login dans un réseau social), ou pour gérer proprement les URL.
Incidemment, 2 articles ont été publié sur le sujet cette semaine : un dossier nexen.net, très complet, avec la gestion des pages 404, et un tutoriel de Brian Moon, sur ForceType.

[Lire plus]
Lancer un script mysql sans donner ni l?utilisateur ni le mot de passe sur la ligne de commande

Voici mon problème du jour : Comment lancer un script (de maintenance par exemple) qui fait appel à mysql, sans stocker en dur le nom de l’utilisateur et le mot de passe (ce qui est mal, très très mal). Le but est que seul un utilisateur privilégié (je n’ai pas forcément dit root ! je pense plutôt à un compte système comme mysql par exemple) puisse lancer ce script.

C’est plutôt facile, et je fournis trois solutions pour la peine :

  1. Avoir un fichier de configuration pour le script accessible seulement par l’utilisateur privilégié

    On définit dans le fichier de configuration des variables d’environnement, une pour le user, une autre pour le mot de passe. Dans le script il ne reste qu’à utiliser la commande source pour récuperer ses variables (seul l’utilisateur privilégié pourra lire le fichier). Simple et efficace.

  2. Avoir un fichier de …
[Lire plus]
Vidéo PHP et MySQL, édition 14

Voici les 5 dernières vidéos PHP et MySQL.



Ces vidéos sont publiés …

[Lire plus]
InnoDB améliore son support des auto_increment

InnoDB avait des soucis à supporter les auto_increment quand de nombreux processus tentaient simultanément d'utiliser cette colonne. Heikki Turri, auteur d'InnoDB, a placé dans la RC1 de MySQL 5.1 un patch qui réduit considérablement les effets de compétition sur cette colonne. Selon Brian Aker, c'est une raison suffisante pour utiliser InnoDB et passer dès que possible à MySQL 5.1.

InnoDB améliore son support des auto_increment

InnoDB avait des soucis à supporter les auto_increment quand de nombreux processus tentaient simultanément d'utiliser cette colonne. Heikki Turri, auteur d'InnoDB, a placé dans la RC1 de MySQL 5.1 un patch qui réduit considérablement les effets de compétition sur cette colonne. Selon Brian Aker, c'est une raison suffisante pour utiliser InnoDB et passer dès que possible à MySQL 5.1.

MySQL 5.1.22-rc

La version 5.1.22-rc de MySQL est disponible pour le téléchargement.

Parmi les changements disponibles sur cette version, une fonctionnalité a été modifiée :

  • Une nouvelle variable de système innodb_autoinc_lock_mode a été ajoutée pour configurer le comportement d'InnoDB pour la production des valeurs en auto-incrementées. Le comportement par défaut est légèrement modifié, ce qui peut entraîner une incompatibilité mineure pour les insertions de plusieurs rangées dont seulement certaines ont une valeurs explicite pour la colonne auto-incrémentée. Pour plus d'informations, consulter l'article How AUTO_INCREMENT Handling Works in InnoDB.

Parmi les bugs corrigés, quelques exemples :

[Lire plus]
Prochainement, dans PHP 5.3

PHP 5.3 commence sa vie par un vote sur les listes internes de développement. Les nouveautés incluent plusieurs fonctionnalités de PHP 6 qui seront introduites plus tôt que prévue (comme les espaces de noms, __callStatic), et effectue un ménage interne (réécriture de l'analyseur php.ini, apparition de E_DEPRECATED). On note aussi l'inclusion dans la distribution de mysqlnd, ainsi que l'apparition du Late Static Binding.
Au final, une évolution en douceur vers PHP 6. Les premières versions sont disponibles sur php.net.
A noter que Johannes Schlüter prend la relève de Ilia Alshanetsky pour assurer la publication des prochaines versions de PHP. Après plusieurs années de bons et loyaux services, Ilia laisse la place à un nouveau Release Master : ce dernier à la lourde tâche de fédérer les contributions à PHP, de les intégrer sainement dans le code, et de produire le code qui est livré successivement aux betas testeurs et …

[Lire plus]
Nouvelle version de MySQL : 5.1.22 RC

MySQL 5.1.22, la première version Release Candidate (Candidat à la publication) a été publiée. Son niveau de stabilité approche les standards de qualité nécessaires pour une publication officielle (GA), et elle entre dans une période intensive de recherche de bogues. On peut prévoir une publication finale dans les prochains mois.
Une nouvelle fonctionnalité : l'option innodb_autoinc_lock_mode permet de modifier le comportement de verrouillage de InnoDB
Corrections MySQL 5.1.22 : 17 bogues ont été corrigés, et notamment : NDB Cluster, InnoDB. Tous des bogues ouverts.

[Lire plus]
Prochainement, dans PHP 5.3

PHP 5.3 commence sa vie par un vote sur les listes internes de développement. Les nouveautés incluent plusieurs fonctionnalités de PHP 6 qui seront introduites plus tôt que prévue (comme les espaces de noms, __callStatic), et effectue un ménage interne (réécriture de l'analyseur php.ini, apparition de E_DEPRECATED). On note aussi l'inclusion dans la distribution de mysqlnd, ainsi que l'apparition du Late Static Binding.
Au final, une évolution en douceur vers PHP 6. Les premières versions sont disponibles sur php.net.
A noter que Johannes Schlüter prend la relève de Ilia Alshanetsky pour assurer la publication des prochaines versions de PHP. Après plusieurs années de bons et loyaux services, Ilia laisse la place à un nouveau Release Master : ce dernier à la lourde tâche de fédérer les contributions à PHP, de les intégrer sainement dans le code, et de produire le code qui est livré successivement aux betas testeurs et …

[Lire plus]