Ses derniers messages sur les forums
Au fait, quel est le type de la colonne ? Varchar(255) :-D ?
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
C'est trop mauvais ;)
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Des projets tels que Zope le mettent pas mal en avant depuis un peu plus de deux ans. Il est utilisé en lieu et place de LUA dans les jeux.
Même si PHP possède la palme sur le Web, Java en entreprise et .Net... euh... ne soyons pas vulgaire :-D, Python ce fait une petite place dans des marchés de niche.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Le problème que je pointait n'était pas un problème de sécurité, mais un problème d'appriori de développeur : un fichier possède une extention, et cette extension renseigne sur le type de fichier.
En ce qui concerne le problème de sécurité, je me suis un peu planté. En effet, ce qui me chiffonait était la variable injectée dans la regexp. Or, j'étais convainqu (mais je n'ai pas retrouvé la doc), que l'on peut exécuter du code directement depuis une expression régulière.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
C'est sympa et rigoureux. Tout ce qu'il lui manque, c'est le typage. Mais Python n'est pas un langage d'avenir, c'est un language d'actualité.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
gcc -o toto.jpeg toto.c
chmod +x toto.jpeg
./toto.jpeg
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Parce que le navigant reçoit le code PHP ?
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Le switch/case de PHP permet des choses plus puissantes que son homologue C :
switch (true)
{
case isFile() : echo 'est un fichier' ; break ;
case isDir() : echo 'est un répertoire ; break ;
default : 'chais pô !' ;
}
Mais sinon, je suis d'accord que par soucis de lisibilité, on utilisera if/else/elseif.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Il y a trois problèmes avec ton code.
- l'usage de ereg est erronée
- exécution possible par regex injection
- l'extension ne détermine pas le type de fichier
Il est particulièrement déconseiller d'utiliser « l'extension » du nom de fichier, puisque sous des systèmes bien pensés, c'est superflut.
si tu tiens absolument à déterminer le type de fichier via l'extension (et donc risquer des injection de code :
ergegi('^.*\.(jpeg|jpg)$', $fichier) ;
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Oui.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.