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é] Sécurité


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2005
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 149
    Par défaut [Sécurité] Sécurité
    Bonjour,
    Voila pour obtenir la réponse d'un paiement sécurisé, je souhaiterai faire un script récupérant la réponse.
    Et comme sécurité, je voudrai que seul l'IP du site de paiement puisse executer ce script...
    Comment faire?


    Réponse envoyé sur http://www.monsite.fr/mapage.php?Result=00&Value=100.....

    Donc je veux pas que si qqn entre cette URL, un paiement soit validé dans ma base de données...
    Donc seule l'IP du site de paiement doit pouvoir executer ce script
    MErci pr votre aide.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 85
    Par défaut
    salut !

    je comprends pas bien le problème ... tu veux que seul le site est la possibilité de faire des enregistrements dans ta base... dans ce cas t'inderdis au autres de l'executer ... tu vérifies que la page avant celle qui execute ton script a bien été "visité" si c'est le cas ça veut dire que l'internaute est passé par la page avant celle-ci donc c'est bon...

    faut vérifier la provenance du visiteur en fait
    si il est passé par la bonne procédure

    j'aurais procédé comme ça

  3. #3
    Membre chevronné Avatar de GregPeck
    Inscrit en
    Novembre 2005
    Messages
    530
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 530
    Par défaut
    En fait si j'ai bien compris, c'est suite à ton fameux header("location: http....").
    Si c'est le cas, tu n'a qu'a balancer un mot de passe dans ta requete GET.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("location: http://www.site.net/page.php?MotDePasse=Toto").
    Ensuite dans ta page tu vérifie si MotDePasse est bien Toto...
    Met un mot de passe bien lourd et ca sera bon.

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2005
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 149
    Par défaut
    C'est bon problème réglé
    Merci

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 85
    Par défaut
    salut ! tu peux expliquer briévement comment tu as fait ? comme ça si un jour quelqu'un a besoin ... merci

  6. #6
    Membre éprouvé Avatar de ..:: Atchoum ::..
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 159
    Par défaut
    Salut,
    Effectivement, ca serait sympa de nous dire ta solution au casou quelqu'un a le même problème.

    Sinon, tu aurais pu le faire avec un .htaccess

    @++

  7. #7
    Membre chevronné Avatar de GregPeck
    Inscrit en
    Novembre 2005
    Messages
    530
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 530
    Par défaut
    Je me permet de répondre à sa place, parce qu'il m'a expliqué ce qu'il à fait.

    Sa page de formulaire où il demandait à l'utilisateur son numéro de carte bleu était composé d'un form qui fait un POST vers une page intermédiaire.

    Sur cette page il met juste ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?
    $_SESSION['passé_par_la_page_de_paiement'] = true;
    header("location : http://sitedepaiment.com/paiement.php?montant=".$_SESSION['montant']."&numerocarte="+$_POST['numerocarte']);
    ?>
    Ensuite, il as juste rajouté dans la page qu'il voulais protégé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?
    if ($_SESSION['passé_par_la_page_de_paiement']) {
      echo "ok";
    } else {
      echo "pasok";
    }
    ?>
    Mais je m'apercoi que ce n'est pas forcément suffisant car si l'utilisateur arrive juste à coupé l'éxécution du script avant le header, la variable session sera initialisé mais le paiement non effectué.
    Il ne reste plus qu'a l'utilisateur à aller sur la bonne page pour que le paiement soit marqué comme effectué sans rien avoir à payer...

    Atchoum, c'est quoi ta soluce avec .htaccess ?

  8. #8
    Membre éprouvé Avatar de ..:: Atchoum ::..
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 159
    Par défaut
    Euh, bah en fait moi je suis parti peut etre un peu loin...

    Mais bon je me lance...

    Pour moi quand on met en place un paiement sécurisé via une banque, celle ci valide le paiement en appelant un script sur le serveur. Ce qui nous permet souvent de décrémenter les stocks, mettre la commande a payer etc...

    Evidement, quand la banque appelle ce script elle envoie plein d'infos en POST mais la $_SESSION est forcement vide vu que le script est appellé depuis le site de la banque...

    Il voulait permettre l'appelle a ce script seulement par l'ip de la banque.
    Donc avec un .htaccess on aurai pu faire un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <Files script.php>
    AuthUserFile /usr/local/bin/www/httpd/basedenoms/.htpasswd
    AuthGroupFile /usr/local/bin/www/httpd/basedenoms/.htgroup
    AuthName AccesRestreint
    AuthType Basic
    <limit GET POST>
    order deny,allow
    deny from all
    allow from ip_de_la_banque
    </Limit>
    </Files>
    Mais je suis peut être complétement hors sujet...

    Enfin cette infos peut servir

    ++

  9. #9
    Membre chevronné Avatar de GregPeck
    Inscrit en
    Novembre 2005
    Messages
    530
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 530
    Par défaut
    Je ne crois pas que tu sois hors sujet c'est nickel comme solution. !

    Mais la banque de Ylias est un peu particulière.
    Comme tu le dit, normalement, la banque après validation du paiement appel une page chez toi mais ce n'est pas visible par l'internaute.
    Mais pas dans le cas de sa banque, ce qui veux dire aussi, si l'utilisateur coupe son navigateur au mauvais moment, il a payé mais le site de Ylias de le sais pas

  10. #10
    Membre éclairé Avatar de hisy
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 377
    Par défaut
    Excusez moi mais le sujet m'interresse mais j'avoue que j'ai du mal à suivre ...

    Pour moi la Banque d'Ylias appelle bien une de ses pages :

    Et comme sécurité, je voudrai que seul l'IP du site de paiement puisse executer ce script...
    Donc la solution du .htaccess me parait convenir ...

    Je suppose que vu le nombre d'étoiles et de plumes qui décorent vos réponses c'est moi qui me plante mais SVP dites moi ou ...

  11. #11
    Membre chevronné Avatar de GregPeck
    Inscrit en
    Novembre 2005
    Messages
    530
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 530
    Par défaut
    Non non tu ne te plante pas, en effet la solution du htaccess est parfaite.

  12. #12
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Par défaut
    si c'est juste pour verifier une IP, pas besoin de passer un .htaccess, qui en plus n'est pas accepté sur tout les hebergeurs.

    un petit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ($_SERVER['REMOTE_ADDR']!='xxx.xxx.xxx.xxx') { // IP de la banque
    die("Et non petit malin, t'est pas ma banque ;o)");
    }
    en haut de la page a proteger et on obtient le meme resultat ;o)

  13. #13
    Membre chevronné Avatar de GregPeck
    Inscrit en
    Novembre 2005
    Messages
    530
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 530
    Par défaut
    Comment j'ai pas pu y pensé plus tôt, j'utilise ça en permanence en plus pour débugger mes sites clients

  14. #14
    Membre éprouvé Avatar de ..:: Atchoum ::..
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 159
    Par défaut
    En effet, mais faut il gérer ça dans le code....

    Pour moi ca n'a rien a voir avec le code en lui même... Si la banque change d'ip pas besoin de toucher au code. (On se sait jamais ce qui arrive quand on touche ou que l'on fait modifier du code...)

    De plus, s'il fait un site e-commerce, il y a de grande chance qu'il ai sont propre serveur. Car souvent la banque donne des fichiers binaires qu'il faut executer pour décoder sa réponse.

    J'en déduis donc que s'il peut faire ca il peut donc mettre un .htaccess qui est quand meme beaucoup plus propre...


  15. #15
    Membre confirmé
    Inscrit en
    Mai 2005
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 149
    Par défaut
    En fait j'envoi le formulaire à l'adresse de La banque, elle me renvoi en parametre d'URL la réponse sur la page de mon choix, page qui va voir si la transaction est ok et enregistrer dans la bdd ou non la réservation...

    Je ne comprends pas trop le .htaccess

  16. #16
    Membre confirmé
    Inscrit en
    Mai 2005
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 149
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <Files script.php>
    <limit GET POST>
    order deny,allow
    deny from all
    allow from ip_de_la_banque
    </Limit>
    </Files>
    Voila ce que j'ai mis et meme en mettant l'ip de la banque, j'ai permission denied...C'est l'ip de l'user qui est loggué non?

  17. #17
    Membre chevronné Avatar de GregPeck
    Inscrit en
    Novembre 2005
    Messages
    530
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 530
    Par défaut
    C'est logique même toi tu es bloqué, seule la banque a les droits .

  18. #18
    Membre confirmé
    Inscrit en
    Mai 2005
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 149
    Par défaut
    Bah nan, j'ai fait un paiement normal et ça ne marche pas...

    J'ai rempli les champs pour la CB comme un acheteur, j'ai validé, donc la banque a reçu les infos, elle renvoi sur ma page de confirmation mais c bloqué...

  19. #19
    Membre chevronné Avatar de GregPeck
    Inscrit en
    Novembre 2005
    Messages
    530
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 530
    Par défaut
    Oui ok le problème, c'est que la banque renvoi l'utilisateur , donc la technique de vérifier l'adresse ip ne peux pas fonctionner...

  20. #20
    Membre confirmé
    Inscrit en
    Mai 2005
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 149
    Par défaut
    Oui...

Discussions similaires

  1. Réponses: 197
    Dernier message: 27/04/2021, 01h11
  2. [Sécurité] sécurité admin avec PHP
    Par carter15_2001 dans le forum Langage
    Réponses: 3
    Dernier message: 04/01/2006, 03h04
  3. Réponses: 9
    Dernier message: 11/12/2005, 07h06
  4. [Sécurité] Sécurité des sessions
    Par nerik38 dans le forum Langage
    Réponses: 2
    Dernier message: 01/12/2005, 15h41
  5. [Sécurité] sécurité et applet
    Par felix79 dans le forum Applets
    Réponses: 10
    Dernier message: 15/06/2004, 10h31

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