re,
Merci pour le lien
de rien ^^
N'oublie pas de vérifier la taille des images en php, elles ne sont pas censées être lourdes.
exact, mais il manque une chose essentielle pour parer à une attaque de trolls sauvages des steppes arides. Admettons que tu conçois une application web où tu donnes la possibilité à l'utilisateur lambda d'uploader ses belles photos de vacances afin qu'il expose ses œuvres par l'intermédiaire de ton application. À priori, ton script ou le mien est suffisant. À postériori, ce n'est pas du tout bon.
En effet, admettons que ton espace web alloué est de 100 mo et en 24h tu t'aperçois que ton espace est full (+ de 86 mo uploader). Pourquoi ? Parce qu'un alien t'a injecté des gif/jpeg/png de 1 ko (aux noms exotiques tels que : sef35te.gif ou dupcbsy59.png ou ...) toutes les secondes et te bloque ton serveur. Et là, ça devient la cata. Tu ne peux malheureusement pas faire la différence entre les bons fichiers et les mauvais envoyés le jour X de l'attaque du troll.
Il y a pas mal de techniques pour éviter ce genre de problème :
* Le petit Captcha qui va bien (Je préconise un captcha textuel afin de garder une Accessibilité optimale. exemple : combien font 7 + 2 ? 7 + 2 = réponse utilisateur). Cette parade peut s'appliquer dans la plupart des cas.
* « contre attaque brute force » avec retour à l'envoyeur de ses méfaits. À noter qu'une attaque brute force vise plutôt à cracker/hacker le pass d'un site.
Le principe reste le même. Lorsque l'utilisateur arrive sur la page, tu récupères son ip (
$_SERVER["REMOTE_ADDR"]) et tu figes la date d'arrivée sur la page (
time()). À noter qu'une ip est très volatile. Il va falloir pister le troll potentiel. Par exemple, si ce dernier essaie au bout de trois fois d'envoyer un fichier inférieur à 10 ko dans une période de time + 5, tu lui injectes un cookie avec un nom bien anodin (ex : setcookie("google_session","valeur anodine tel qu'une suite de caractères en sha1", time()+3600*24*30*365, "/")) et une valeur qui lorsque tu testes ce cookie, tu invites le troll à te contacter. Bien sûr, il se peut qu'une personne bien intentionné tombe sur ta contre mesure. Alors tu lui envoies un courriel qui l'invite à ce rendre sur un lien qui détruit le cookie ou qu'il le passe par une valeur différente de ta contre mesure.
Pour finir, un formulaire fichier est à prendre avec beaucoup de vigilance.
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.
+100...
Aujourd'hui, je ne suis pas dans la plus grande forme. J'espère que j'ai été assez explicite.