Lettres
[Actu PHP] Lettre N.474 Dimanche 14 Septembre 2008
************************************************************
L'actualité PHP et MySQL
avec Nexen.net
http://www.nexen.net/
Dimanche 14 Septembre 2008
************************************************************
Retrouvez toute l'actualité PHP et MySQL durant la semaine sur
http://www.nexen.net/
************************************************************
Au sommaire
===========
Lundi 08 septembre 2008
- [1] Indication de typage pour les scalaires en PHP 5.3
- [2] PHP TV Emission 2 (Septembre 2008)
- [3] PHP 5.3alpha2
- [4] L'état du monde du scripting
- [5] Le tour du monde des éléphpants
- [6] Les espaces de noms en PHP et leurs limitations
- [9] Statistiques PHP d'Août 2008
- [10] XSS, un nouvel art
- [11] 75 javascript vraiment utiles
- [12] Actualité de développement PECL, edition 216
- [13] Alertes sécurité des applications PHP et MySQL, édition
- [14] Tutoriel OpenID avec PHP
- [15] Patchs Google pour MySQL
- [16] Afficher facilement les droits de nombreux utilisateurs
- [17] Actualité de développement PEAR, edition 219
Toute l'actualité en détails :
===============================
[1] Indication de typage pour les scalaires en PHP 5.3 [ Haut ]
------------------------------------------------------------
Max Hovarth publie une bibliothèque phar (une archive PHP),
qui implémente les indications de typages pour les
scalaires. Depuis PHP 5.0, on peut indiquer dans le
prototype d'une méthode ou fonction le type d'objet qu'on
attend, mais cette capacité ne s'étend pas aux scalaires
(chaînes, tableaux, etc.) Selon le blogue de Max, PHP 5.3
et sa bibliothèque permettent de le faire.
J'ai testé le phar, mais avec une erreur de require_once.
Ca ne marche donc pas du tout sur ma machine, alors je vais
retrousser mes manches, et recompiler PHP 5.3alpha 2 (voir
l'autre news).
------------------------------------------------------------
http://www.nexen.net/actualites/php/18703-indication_de_typage_pour_les_scalaires_en_php_5.3.php
[2] PHP TV Emission 2 (Septembre 2008) [ Haut ]
------------------------------------------------------------
PHP TV annonce la sortie de la deuxième édition du
magazine : l'émission de septembre est en ligne sur
http://www.phptv.fr !
Au programme :
- L'interêt et les fausses idées que l'on se fait des
requêtes préparées.
- Des nouvelles de PDO et le wiki de PHP.
- Reportage : le premier barcamp français sur PHP.
- Débat : les espaces de noms (namespaces).
- Interview : Arnaud Limbourg, président de l'AFUP.
Pour le confort de tous, PHP TV évolue :
- Diffusion séparée des rubriques : à vous de choisir !
- Mise à disposition d'un flux podcast.
------------------------------------------------------------
http://www.nexen.net/actualites/php/18705-php_tv_emission_2_septembre_2008.php
[3] PHP 5.3alpha2 [ Haut ]
------------------------------------------------------------
La version alpha2 de PHP 5.3 est disponible sur le site de
l'assurance qualité. Vu la masse de nouveautés et
réécritures, il est recommandé à tout le monde de
compiler la bête, faire tourner les 5000+ tests unitaires
et tester le tout avec vos applications finales et
préférées.
Il est encore temps de faire corriger une incompatibilité
ascendante!
curl -O
http://downloads.php.net/johannes/php-5.3.0alpha2.tar.bz2
bunzip2 php-5.3.0alpha2.tar.bz2
tar -xf php-5.3.0alpha2.ta
cd php-5.3.0alpha2
./configure
make
make test
------------------------------------------------------------
http://www.nexen.net/actualites/php/18704-php_5.3alpha2.php
[4] L'état du monde du scripting [ Haut ]
------------------------------------------------------------
PHP, JavaScript, Ruby, Perl, Python et Tcl sont les membres
du club des logiciels de script : contrairement aux C, C++,
Fortran ou Java, ils ne sont pas compilés, mais exécutés
directement à partir du code source. C'est cette raison
même qui les a présenté comme des jouets lors de leur
naissance, et il leur a fallu plusieurs années pour gagner
la reconnaissance de leurs pairs. CIO magazine a interrogé
un expert par technologie pour faire le point sur la
progression de ce pan de l'industrie informatique. Pour PHP,
c'est Robert Pall qui s'y colle.
------------------------------------------------------------
http://www.nexen.net/actualites/web/18708-letat_du_monde_du_scripting.php
[5] Le tour du monde des éléphpants [ Haut ]
------------------------------------------------------------
J'en rêvais, et Ivo Jansch et Cal Evans l'ont fait : un
site consacré aux éléphpants, et à tout ces endroits où
ils sont allés dans le monde. C'est le 'ElePHPants World
Tour 2008', où on le voit qui grimpe aux cocotiers, visite
la Falkirk Wheel (Angleterre), fait du snowboard ou encore
téléphone dans une cabine (so prehistoric!). Vous pouvez
d'ailleurs rechercher une large gamme d'autres photos sur
flickr, via les mots clé ou carrément le groupe
'elephpant'.
Si vous voulez en ajouter, c'est aussi possible : Cal et
Ivo ont maintenant un concours, avec des lots (et peut être
des surprises à venir).
------------------------------------------------------------
http://www.nexen.net/actualites/php/18707-le_tour_du_monde_des_elephpants.php
[6] Les espaces de noms en PHP et leurs limitations [ Haut ]
------------------------------------------------------------
Elizabeth Marie Smith liste les 4 points et demi qui la
gène dans la gestion des espaces de noms qui arrivent avec
PHP 5.3 (déjà testé?). Il y a notamment le fait que les
espaces de noms sont 'par fichier'. Il faut effectivement
mettre les importations d'espaces dès le début du script
(y compris, les lignes vide au début), et on ne peut plus
en changer ultérieurement ( à moins d'inclure un autre
fichier).
Ses doléances vont aussi à l'encontre de la gestion des
NS pour les fonctions, où une fonction et une méthode
statique importée peuvent être complètement ambiguës :
Foo() peut faire référence à une fonction classique, ou
à une méthode statique, importée d'un espace de noms.
De quoi réfléchir avant de se lancer dans l'aventure.
------------------------------------------------------------
http://www.nexen.net/actualites/php/18706-les_espaces_de_noms_en_php_et_leurs_limitations.php
[7] 10 mantra des maîtres PHP [ Haut ]
------------------------------------------------------------
Nettuts a rassemblé 10 principes fondamentaux de
programmation en PHP, exprimé par de grands sages PHP
(s'ils existent), notamment, Rasmus Lerdorf et Matt
Mullenweg. 'Ne faites jamais confiance à vos utilisateurs'
ou encore 'Utilisez de nombreuses tables pour gagner en
montée en charge'.
Certains mantra sont même conflictuels, comme ceux sur les
frameworks, mais au final, il y a la une belle liste de
concept à retenir avant de se lancer en PHP.
------------------------------------------------------------
http://www.nexen.net/actualites/php/18709-10_mantra_des_maitres_php.php
[8] XSS à coup de slash [ Haut ]
------------------------------------------------------------
Christian stocker vient de corriger une attaque XSS étrange
: elle se base sur l'interprétation que font les
navigateurs du caractère slash : /. En l'occurrence, il
peut être remplacé par un espace quand le navigateur ne
sait pas trop quoi en faire. Ce qui signifie que devient
effectivement du code HTML valide.
A court terme, la solution est bien de compléter les
filtres HTML, mais à plus long terme, comment se prémunir
contre ces interprétations bizarres et non-documentées?
Selon Christian, passer par la regénération XML du code
est une bonne protection : au lieu d'utiliser les données
brutes, elles sont produites par DomDocument (ou par
n'importe quel outil de production XML), afin de s'assurer
que le code HTML final est valide.
Et valide au sens des standards que tout le monde comprend,
et pas ceux que les navigateurs comprennent!
------------------------------------------------------------
http://www.nexen.net/actualites/securite/18710-xss_a_coup_de_slash.php
[9] Statistiques PHP d'Août 2008 [ Haut ]
------------------------------------------------------------
Les statistiques de diffusion PHP dans le monde pour août
2008 sont arrivées.
------------------------------------------------------------
http://www.nexen.net/actualites/php/18715-statistiques_php_daout_2008.php
[10] XSS, un nouvel art [ Haut ]
------------------------------------------------------------
Gareth Heyes détaille son cheminement pour construire une
attaque XSS qui passe les défenses de PHP-IDS. PHP-IDS est
une bibliothèque de détection, qui surveille les entrées
à l'aide de regex et d'une centrifugeuse : cet élément
abscons compare des valeurs valides et des valeurs
dangereuses avec l'entrée courante pour évaluer la
dangerosité d'une valeur qui passerait les regex initiales.
Pour passer ces deux rideaux défensifs, il a fallu à
Gareth éviter les +, concat et eval. Le vecteur final passe
par un espace de noms, qui semble être bien mal protégé.
Lisez le tout, c'est édifiant, pour apprendre à
construire une attaque. Qui peut résister à cela?
------------------------------------------------------------
http://www.nexen.net/actualites/securite/18714-xss,_un_nouvel_art.php
[11] 75 javascript vraiment utiles [ Haut ]
------------------------------------------------------------
Smashing magazine continue de m'étonner, avec cette liste
ahurissante de .js qui peuvent être inclus simplement dans
vos pages Web pour faire de la complétion ajax (facile!),
de la césure automatique (!!!), traiter des dates, faire
une galerie d'images, des bulles d'aide contextuelles, etc..
Ouf, j'en ai lu la moitié, et je suis déjà en train
d'écrire cet article.
------------------------------------------------------------
http://www.nexen.net/actualites/php/18712-75_javascript_vraiment_utiles.php
[12] Actualité de développement PECL, edition 216 [ Haut ]
------------------------------------------------------------
4 paquets ont été mis à jour cette semaine :
memcache : cache mémoire
imagick : interface avec la bibliothèque graphique
ImageMagick
phar : support des fichiers d'archives PHP : .phar
funcall : ajout des callback à n'importe quelle méthode
ou fonction
PECL est la bibliothèque d'extensions C de PHP.
------------------------------------------------------------
http://www.nexen.net/actualites/pecl/18713-actualite_de_developpement_pecl,_edition_216.php
[13] Alertes sécurité des applications PHP et MySQL, édition 219 [ Haut ]
------------------------------------------------------------
PHP et MySQL ne font l'objet d'aucune alerte de sécurité
dans leurs versions courantes :
PHP 5.2.6 et 4.4.9; MySQL 5.0.67 (communauté) , 5.1.26 et
6.0.6.
Les mises à jour sont recommandées vers ces versions.
7 alertes de sécurité ont été émises cette semaine,
concernant des applications suivantes :
Drupal, Gallery, Horde, Invision Power Board, Joomla,
WordPress et vBulletin
------------------------------------------------------------
http://www.nexen.net/actualites/securite/18719-alertes_securite_des_applications_php_et_mysql,_edition_219.php
[14] Tutoriel OpenID avec PHP [ Haut ]
------------------------------------------------------------
OpenID est une de ces technologies fort pratique, qui permet
d'industrialiser les capacités d'identification sur le Web.
Industrialiser, au sens utilisateur du terme : au lieu
d'ouvrir des millions de comptes sur différents sites, et
de les oublier (ou d'utiliser une application de mot de
passe pour la gérer), vous pourriez mettre en place une
identité OpenID, pour utiliser une seule carte de visite.
Comment ? Probablement en lisant d'abord cet article, bien
orienté pour programmeurs PHP.
------------------------------------------------------------
http://www.nexen.net/actualites/tutorial/18718-tutoriel_openid_avec_php.php
[15] Patchs Google pour MySQL [ Haut ]
------------------------------------------------------------
Google avait attiré l'attention du monde MySQL en publiant
un patch au code source pour une réplication synchrone :
les transactions sont validées dans le maître quand elles
ont été validées au moins sur un esclave. Voilà
résolvait le problème de retard de réplication de
nombreuses architectures.
Depuis, je n'ai pas relevé de nouvelles, mais le projet
n'est pas mort, loin de là! Il y a une longue liste de
patch pour MySQL 4 et 5. Il y a des statistiques
d'utilisation des ressources beaucoup plus fines que celles
fournies de base, et notamment cette perle de
MySQLPerformancesBlogue pour identifier les index
inutilisés!
InnoDB est aussi le centre de beaucoup d'attention, ainsi
que les mutex (pour les accès concurrents), et les
informations de surveillances. Il y a même un serveur HTTP
intégré à MySQL..
Notons que ce patch requiert une version recompilée de
MySQL, ce qui va en freiner l'utilité. Ni Proven Scaling,
ni Percona ne distribue de version patchée actuellement. Un
candidat?
------------------------------------------------------------
http://www.nexen.net/actualites/trucs/18717-patchs_google_pour_mysql.php
[16] Afficher facilement les droits de nombreux utilisateurs [ Haut ]
------------------------------------------------------------
MySQL dispose de la commande SHOW GRANTS pour afficher les
droits d'un utilisateur, pour peu que l'on connaisse son nom
et son hôte. C'est pratique de manière atomique, mais
comment s'y prendre pour traiter un site avec 50
utilisateurs et plus? Il est impensable de rechercher tous
les droits de tous les utilisateurs.
Les tables mysql.* vous donneront la solution, mais la
hiérarchie des droits de MySQL nous rattrape : pour
détecter un droit de lecture dans une table, il faut
vérifier que l'utilisateur a les droits dans la base ...
et au niveau global.
Sheeri a trouvé la solution en une seule requête, via
UNION. Plus une autre requête pour produire directement les
requêtes de SHOW GRANTS, pour aller encore plus loin.
------------------------------------------------------------
http://www.nexen.net/actualites/trucs/18716-afficher_facilement_les_droits_de_nombreux_utilisateurs.php
[17] Actualité de développement PEAR, edition 219 [ Haut ]
------------------------------------------------------------
3 paquets ont été mis à jour cette semaine :
Text_Diff : Moteur pour effectuer et afficher des
différences de texte
XML_RPC2 : Bibliothèque client/serveur XML-RPC
HTML_Template_PHPLIB : Système de gabarit basé sur les
regex
PEAR est la bibliothèque de composants PHP.
------------------------------------------------------------
http://www.nexen.net/actualites/pear/18720-actualite_de_developpement_pear,_edition_219.php
***************************************************************
Attention :
Cette lettre hebdomadaire est distribuée aux personnes
qui se sont inscrites sur le site http://www.nexen.net,
comme membres et comme destinataires de cette lettre.
Les instructions de modifications sont disponibles en bas
de ce mail.
Des commentaires? des questions? des informations à suggérer?
Contactez l'éditeur de la lettre avec l'adresse suivante :
damien.seguy@nexen.net
***************************************************************
Pour modifier votre abonnement ou vous désincrire :
http://www.nexen.net/services/login.php?direction=diffusion.php
Pour retrouver votre accès membre sur nexen.net :
http://www.nexen.net/services/motperdu.php
Pour devenir membre de nexen.net :
http://www.nexen.net/services/login.php?direction=diffusion.php
L'actualité journalière sur nexen.net :
http://www.nexen.net/news/index.php
***************************************************************
Cette lettre hebdomadaire est un un service de Nexen.net,
portail technologique PHP et MySQL éditée par la société
Nexen Services SA au capital de 49.536 Euros
inscrite au registre du commerce de Paris : RCS B 423 995 224

