mar 19
Une application Web est, de par son exposition au réseau Internet et à ses utilisateurs, sensible aux questions de sécurité. De plus, la souplesse et les largesses de PHP, couplées à celles du protocole HTTP, peuvent rapidement faire passer votre application pour une grosse passoire.
C’est le cas d’une grande partie des solutions PHP du marché, et malheureusement personne n’y coupe : CMS, galeries photos, outils de statistiques… Voici ce qui va introduire plusieurs posts sur la sécurité. Nous y verrons la plupart des failles de sécurité “classiques” qu’on trouve dans les développements PHP, et comment y remédier de façon efficace.
Lire la suite »
mar 17
PHP est dans une grande période de transition. Les deux version majeures (4 et 5) cohabitent au niveau de l’hébergement Web professionnel. Ceci est en partie dû à la variété des plateformes proposées, reposant souvent sur Linux.
Il arrive également que le choix technologique pour l’hébergement repose sur un existant, ou soit imposé par le client, ce qui peut conditionner la bonne version à utiliser.
Afin d’y voir plus clair, voici un petit tableau compilant les principales plateformes Windows et Unix/Linux avec les versions standard de PHP proposées :
| OS |
Plateforme |
Version PHP |
| Linux |
Debian Sarge |
4.3 |
| Linux |
Debian Woody |
4.1 |
| Linux |
Mandriva 2005 |
4.3 |
| Linux |
Mandrake 2006 |
5.0 |
| Linux |
Mandrake 2007 |
5.1 |
| Linux |
Suse 8.2 |
4.3 |
| Linux |
Suse 9.3 |
5.0 |
| Linux |
Suse 10.1 |
5.1 |
| Linux |
Suse 10.2 |
5.2 |
| Linux |
Gentoo 2005.0 |
4.3 |
| Linux |
Gentoo 2005.1 |
4.4 |
| Linux |
Gentoo 2006.0 |
5.0 |
| Linux |
Gentoo 2006.1 |
5.1 |
| Linux |
Ubuntu 5.04 |
4.3 |
| Linux |
Ubuntu 5.10 |
5.0 |
| Linux |
Ubuntu 6.06 |
5.1 |
| Linux |
RedHat Enterprise Linux 3 |
4.2 |
| Linux |
RedHat Enterprise Linux 4 |
4.3 |
| Linux |
RedHat Enterprise 5 |
5.0 |
| Linux |
Fedora Core 3 |
4.3 |
| Linux |
Fedora Core 4 |
5.0 |
| Linux |
Fedora Core 5 et 6 |
5.1 |
| Unix |
FreeBSD 5 |
4.3 |
| Unix |
FreeBSD 6 |
5.0 |
| Windows |
WAMP 5 |
5.2 |
| Windows |
EasyPHP 1.8 |
4.3 |
Sources d’information : DistroWatch, RPMFind, sites officiels WAMP/EasyPHP
mar 10
Restons un peu dans les objets avec les modèles de conception, ou Design Patterns. Nous allons commencer avec un des grands classiques : le singleton. Ce modèle très pratique permet de créer 1 instance maximum d’un objet. On utilise pour cela une variable et une méthode statiques, en rendant le constructeur privé.
Un des grands cas pratiques est l’utilisation pour une connexion à la base de données : cela évite de se connecter 50 fois, on reprend la connexion ouverte.
Lire la suite »
mar 09
En PHP 5, les valeurs sont désormais passées par référence. Pour cloner un objet, il faut désormais utiliser la fonction clone(), introduite dans la nouvelle version :
$obj_clone = clone($obj);
Pour assurer la compatibilité avec PHP 4, voici une petite astuce qui recrée la fonction :
if (version_compare(phpversion(), '5.0') < 0) {
eval(' function clone($object) {
return $object;
} ');
}
Il suffira ensuite de l’utiliser dans tous les cas… et hop, une compatibilité ascendante, une
Commentaires récents