IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Sécurité] Demande avis sur risque de spam.


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut [Sécurité] Demande avis sur risque de spam.
    Bonjour,

    Je suis en train de développer un formulaire de contact pour mon forum en libre accès.
    Les visiteurs n'auront pas connaissance de l'email de la personne qu'ils veulent contacter.
    J'ai filtré les formulaires pour les sécuriser, je n'ai pas prévu de controle sur l'ip, pour, par exemple, limiter le nombre d'envoi de message à 1 toute les 20 secondes, comme je l'ai fait sur le formulaire de participation au forum.

    Pensez-vous que cela soit utile, vu que je filtre tout de même les données du formulaire ?
    Comment peuvent-ils détourner le formulaire de contact si il est filtré ? (Par exemple, seules les lettres sont admises dans le textarea et il y a un htmlspecialchars).
    C'est pas parce que j'ai tort que vous avez raison.

  2. #2
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    Merci pour ton lien.

    En fait j'ai déjà lu cette page, d'où les dispositions de filtrage que j'ai adopté.

    A bien y réfléchir, je pense que si le spammeur est bloqué dans son injection de code, rien ne lui sert de soumettre le formulaire x fois à la minutes.

    Un avis contraire ?
    C'est pas parce que j'ai tort que vous avez raison.

  4. #4
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Les spammeurs font d'abord du "fishing" en scanant les formulaires web
    à la recherche de "passerelles ouvertes".

    j'ai pu observer sur mes formulaires de contact qu'il bcc à un email à lui
    (chez aol dans mon cas). Il insère un id dans le message, celui-ci lui servant à retrouver le serveur qui a laisser passer son mail.

    Ce fishing est très agaçant car cela provoque l'envoi du mail normal au
    destinataire prévu.

    Le spammeur a des chances de réussir si il injecte des headers dans un champs qui est lui même inscrit (sans filtrage) dans le 4ème paramètre de
    la fonction mail. Celà peut être le cas pour un formulaire qui utilise le
    champ email pour le placer comme Reply-To dans les headers par exemple.

    Le spammeur que j'ai pu observer tente de remplir différents champs du
    formulaire avec des injections.

    Cependant j'ai trouvé un moyen simple de filtrer, tu ajoutes un champ
    caché avec une constante. par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type='hidden' name='toto' value='toto' />
    Dans mon cas, le robot de fishing rempli ce champs avec autre chose.
    Ainsi je test si $_POST['toto']=='toto' et le tour est joué.

    Pour ce qui est de ta limite à 1 post toutes les 20 secondes, je pense qu'il
    faut être prudent. Il arrive que des gens se trompent dans une donnée
    et repostent juste derrière. D'autre part, l'ip n'identifie pas un utilisateur,
    mais parfois un groupe (derièrre un passerelle dans une entreprise par
    exemple) cela peut être embètant si un prof présente ton formulaire dans
    une sale de cours et que tous le monde post.

    Je pense qu'il te faudrait accèpter plusieurs post de la même IP avant de commencer à ralentir.
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    Merci Marcha, pour cette réponse très intéressante.

    Quelques questions qui me viennent à l'esprit tout de suite :
    - Y'a t'il des caractères/mots qui doivent être automatiquement utilisés lors de l'envoi d'un header, dans le but de spammer (ex: inscrire TYPE-MIME).
    ==> Auquel cas je bloque les envois de formulaire qui comportent ces caractères.
    - Si je force, avec les regexp, à n'envoyer des messages ne comportant que des chiffres et des lettres ? Cela est-il efficace?
    - Quand tu dis que le spammeur fait des injections, tu parles d'injections sql ? mysql_real_escape_string l'en empêche alors ?
    - J'avoue ne pas avoir bien compris le coup de la constante.


    Voilà déjà quelques questions, si tu veux bien y répondre, peut-être d'autre après

    (Les autres ne vous privez pas hein )
    C'est pas parce que j'ai tort que vous avez raison.

  6. #6
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Relis la page dont je t'ai donné le lien ci-dessus

    Le champs caché c'est tout simple, le spammeur utilise un programme
    pour poster, il scan tous les input de ton formulaire et y place des données.
    du coup, il ne concerve pas la valeur du champs caché et tu le détect ainsi.
    (Attention, un spammer plus intelligent pourrait la conserver :-)
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    Ok j'ai compris le coup du champ caché, merci.

    J'ai lu aussi qu'il faut désactiver le "catch-all' pour empêcher les spammeurs de créer des fausses adresses email utilisant le domaine du site spammé.

    vous savez qeulque chose sur ce sujet ?
    C'est pas parce que j'ai tort que vous avez raison.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 24
    Points : 18
    Points
    18
    Par défaut
    Grosse bêtise. Message retiré.


Discussions similaires

  1. Demande Avis sur Diagramme de Classes
    Par medaadi dans le forum Diagrammes de Classes
    Réponses: 3
    Dernier message: 10/11/2009, 10h23
  2. demande avis sur le choix technologique
    Par tastika dans le forum Général Java
    Réponses: 1
    Dernier message: 05/06/2009, 10h35
  3. [VB.NET] Demande avis sur organisation fichiers
    Par arno2000 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 24/03/2006, 09h13
  4. Projet IUT informatique: Demande avis sur clé USB...
    Par ChrisMan dans le forum Périphériques
    Réponses: 8
    Dernier message: 18/03/2006, 10h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo