2010-04-21 5 views
0

je me suis un client qui est le site Web est sous SSL uniquement sur le proccess de paiement. Mais il a acheté SSL partagé donc le domaine actuel est différent (même si je pense que c'est le même serveur).conseils var Session et SSL partagé

Ainsi, lorsqu'un utilisateur est connecté par exemple à: www.mydomain.com/login.php et essaie d'acheter quelque chose qu'il redirigé vers https://secure20.livessl.com/mydomaincom/payment.php

Maintenant _SESSION $ vars ne sont pas réglées, je peux » t l'utiliser pour le formulaire de paiement.

Je ne veux pas les envoyer par méthode GET ou POST ... MÉTHODE Des idées? Dois-je dire au client d'acheter du SSL privé?

Merci!

Répondre

1

De préférence, ils doivent obtenir un certificat. Ils sont aujourd'hui très abordables et il rend leur entreprise regarder infiniment plus professionnel.

S'ils exigent cette méthode tierce, pourquoi ne pas envoyer les données via la méthode POST? Ce sera crypté. Une autre idée qui vient à l'esprit est d'envoyer un get avec un identifiant long ajouté à la chaîne de requête (n'utilisez pas l'identifiant de session) que le script PHP sur le serveur SSL peut ensuite utiliser pour envoyer une requête sécurisée (CURL) retour au serveur d'origine demandant les variables de session. Mais cela semble être exagéré quand un POST fera l'affaire.

+0

Eh bien, je l'ai juste essayé de POST variables mais il ne se la page de destination. Qu'est-ce que j'oublie ici ? Je ne sais pas - je peux poster des variables d'un domaine à un autre? –

+0

ok trouvé la solution: vous avez raison - il est préférable d'envoyer par la poste. Je ne savais pas que ça allait être chiffré. De toute façon, je n'envoie que l'identifiant de l'utilisateur, donc cela n'a pas vraiment d'importance. Merci –

+0

Je suis heureux d'avoir pu aider. – webbiedave

0

Vous ne pouvez pas passer les messages dans un redirect - GET vars seulement. Aussi les cookies ne fonctionnent pas dans des domaines - mais il n'y a rien pour vous empêcher de passer l'identifiant de session en tant que var get puis en créant un nouveau cookie sur le deuxième vhost qui fait référence à la même session:

if ($_GET['sessid_from_remote']) { 
    session_id($_GET['sessid_from_remote']); 
} 
session_start(); 

Mais ce n'est aller travailler si les deux vhosts partagent un substrat de stockage de session.

Personnellement, je ne saisirais pas les coordonnées de ma carte de crédit sur un site autre que celui que je connais bien et qui fait confiance (amazon, paypal, worldpay ...) et ces types n'utilisent pas les comptes d'hébergement partagé. Donc, je vous recommande d'utiliser paypal ou worldpay pour faire la partie sécurisée et ne pas déranger avec un certificat SSL dédié.

C.