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

PHP & Base de données Discussion :

Indiquer l'adresse e-mail en clair dans l'URL et sécurité des données php et db


Sujet :

PHP & Base de données

  1. #1
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 628
    Points
    3 628
    Billets dans le blog
    8
    Par défaut Indiquer l'adresse e-mail en clair dans l'URL et sécurité des données php et db
    J'aimerais avoir votre avis... avisé.

    Je compte bientôt installer sur mon site une alerte de mise à jour.

    Bien entendu dans le mail d'alerte que recevra l'abonné, il y aura systématiquement un lien cliquable pour se désinscrire, selon la net étiquette.

    Dans mon projet actuel, dès que la personne clique ce lien (donc depuis sa messagerie de mails) elle envoie par get son mail et s'opère d'emblée la désinscription, la personne arrive à la page desinscription.php juste pour voir "Conformément à votre désir, vous êtes dorénavant désinscrit de l'alerte de mise à jour du site"...

    Quel(s) problème(s) de sécurité cela peut-il poser ce passage de mail par barre d'adresse (uniquement avant sa désinscription donc).

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 471
    Points : 15 859
    Points
    15 859
    Par défaut
    le problème de cette méthode est que si personne en veux à ton site, elle peut faire une boucle et désinscrire toutes les adresses de ta liste
    pour éviter ça tu peux par exemple chiffrer l'adresse e-mail dans l'URL ou bien tu peux laisser l'e-mail en clair et rajouter une signature en plus

  3. #3
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 628
    Points
    3 628
    Billets dans le blog
    8
    Par défaut
    Je ne comprends pas bien ta crainte.

    Une boucle sur quoi ?

    Le script ne désinscrit que le mail envoyé... s'il existe dans le scan de la db.

    Sinon c'est un coup pour rien.

    Voici le script de desinscription.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    include('fonctions.php');
    if (isset($_GET['mail'])){
     
    $mail=($_GET['mail']);
    connect($db);
    $ID=getID($mail);
    connect($db);
    desinscription($ID);
    echo'<h4>Selon votre souhait, vous êtes désinscrit des abonnés à l\'alerte de ce site.<br/>Au revoir et à bientôt.<h4>';
    }
    et le script de la fonction implémentée desinscription($ID) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function desinscription($ID){
    	$sql ='DELETE from inscrits WHERE ID="'.$ID.'"';
    	//on lance 
    	mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error()); 
    	//**preparation suppression table options
    	$sql ='DELETE from options WHERE ID="'.$ID.'"';
    	//on lance 
    	mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error()); 
    	//on ferme
    	mysql_close();  
    }
    Pour procéder à une boucle de désinscription automatique par l'ID, il faudrait avoir les paramètres de connexion à la db.

    Enfin il me semble...

    et vous m'excuserez... je ne vous mets pas ici la fonction connect($db)...



    Ce qui nous amène à ma question subsidiaire...

    Je présume que quand j'entreposerai fonctions.php sur mon site en ligne, il faudra que je le sécurise ? De quelle façon ? En l'entreposant dans la partie de mon site inaccessible au public ? Je présume que cela suffit ?

    Peut-être faut-il séparer les données de connexions du script fonctions.php et les sécuriser d'avantage ? Comment au demeurant ? Sans tomber dans la parano... car je n'ai pas un site commercial qui entrepose des données si sensibles que ça, je souhaite simplement que ma base de données ne tombe pas entre toutes les mains un peu fouilleuses...

    Par ailleurs, je suppose qu'il faut faire une sauvegarde automatique et périodique du scan (j'ai déjà prévu la fonction scan) des données de la db, du genre une fois par semaine en ce qui concerne mon petit site ?

Discussions similaires

  1. Adresse ip qui s'affiche dans l'url
    Par baggie dans le forum Domaines
    Réponses: 5
    Dernier message: 23/12/2015, 11h07
  2. Réponses: 4
    Dernier message: 31/08/2007, 18h28
  3. [Sécurité] Sécurité des données dans $_SESSION
    Par dinozor29 dans le forum Langage
    Réponses: 2
    Dernier message: 18/06/2007, 00h19
  4. Réponses: 11
    Dernier message: 08/12/2006, 22h39
  5. [PHP-JS] afficher des donnée php dans popup javascript
    Par speedylol dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 05/04/2006, 18h05

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