Certains développeurs PHP m'enervent.

Vous souhaitez échanger un avis qui ne concerne pas nos services ou simplement converser sur un sujet qui vous tiens à cœur ? Vous avez la parole !
Franceserv
Messages : 905
Inscription : 2 avril 2010 à 20:14

Certains développeurs PHP m'énervent à continuer d'écrire des aberrations de codes.

Premier exemple d'un warning énervant :

Code : Tout sélectionner

Warning: is_writable() [function.is-writable.php]: open_basedir restriction in effect. File(/tmp/httpd/session) is not within the allowed path(s): (***) in ***.php on line 51
Dans cet exemple, le développeur PHP vérifie que le dossier des sessions PHP est accessible en écriture avant de créer ses sessions ... Ce que ne sait pas le développeur est que c'est au serveur PHP de gérer les sessions et que son dossier n'a pas besoins d'être accessible.

Les fonctions PHP " session_start() ", "session_unset()", " session_destroy()" ainsi que la variable d'environnement " $_SESSION['value'] " se suffisent à elles mêmes.

De plus c'est mieux qu'il ne le soit pas, ca évite certaines failles de sécurité comme par exemple un fopen() dans le dossier pour lire en brut les fichiers des sessions et d'y révéler des informations sensibles.

Suite à ça, le développeur bloque alors l'installation du CMS :
Votre session écrit le chemin et le répertoire d'installation n'est pas autorisé en écriture. L'un d'entre eux doit être autorisé en écriture pour continuer l'installation
Du grand n'importe quoi. La victime est l'utilisateur de ce CMS et celle-ci ne peut que penser que le problème provient de l'hébergeur car son script fonctionne ailleurs. Bien en fait non, c'est seulement une sécurité bienveillante supplémentaire qui est en place.

Quand ca arrive, il faut aller modifier le code PHP et commenter la condition du is_writable() à la ligne précisé dans l'erreur ... où informer le développeur sur ce test ridicule.

Autre exemple :

On trouve souvent cette directive dans les fichiers .htaccess :

Code : Tout sélectionner

Options +FollowSymlinks
Cette option est souvent associée par les développeurs PHP à la réécriture d'URL alors que c'est totalement inutile puisqu'elle permet uniquement de suivre les liens symboliques du système.
Répondre