PHP

Bonnes idées/résolutions

(Bon c'est pas valable que pour PHP.)

Sécurité utilisateur

- Stocker les mots de passe hashés dans la base (mieux, avec un salt, encore mieux, avec un salt différent pour chaque user !)
- Faire l'authentification par login en utilisant un challenge en javascript (méthode différente en fonction du hashage du mot de passe dans la DB)
- Ne permettre la modification de mot de passe et d'email que si on donne l'ancien mot de passe (évite le vol de compte consécutif au vol de session)
- Chiffrer/hasher directement le mot de passe en JS quand on l'utilisateur l'envoie (login/modification/vérification)

Sécurité de l'application

- Séparer les objets, includes, trucs lancés en CLI, etc. des trucs accessibles en web (par exemple faire un répertoire www/ séparé, www/ sera pointé par le serveur web et donc les autres trucs seront pas dispos)
- Ne pas utiliser les variables pour transmettre des données entre includes quand on est sur un environnement inconnu (si register_globals est activé, risque de résultats méchants si la variable n'est pas initialisée par vous)

Le futur c'est bien

- Utiliser UTF-8 nativement
- Utiliser filter_var pour valider une variable plutôt que des preg_match. Exemple : filter_var($email, FILTER_VALIDATE_EMAIL) cf. doc PHP
- Utiliser un serveur de contenus statiques séparé (URL différente, pour ne pas transmettre les cookies)
- Mettre une expiration longue sur les éléments statiques (faire jouer le cache)

w00t tokenizer


Dernière mise à jour de cette page : 25/11/2008 à 03:18