[prev in list] [next in list] [prev in thread] [next in thread] 

List:       php-general-es
Subject:    RE: [PHP-ES] Como generar una firma electronica con SHA1 de forma segura
From:       Gerardo Aquino <mogurbon2000 () yahoo ! com ! mx>
Date:       2006-11-21 4:47:13
Message-ID: 408727.23048.qm () web55211 ! mail ! re4 ! yahoo ! com
[Download RAW message or body]


Si mira como yo lo entiendo es como abrir un tubito que apunta hacia algun lado , en \
este caso un pto especifico que normalmente para web es el 80 , te mando una \
funcioncita que lo hace

function ilsocket($url, $server, $puerto, datos){
$chrdata="datos";
 $s_Request = "POST " . $url . " HTTP/1.0\n";
        $s_Request .= "Host: " . $server . ":" . $puerto . "\n";
        $s_Request .= "Content-Type: application/x-www-form-urlencoded\n";
        $s_Request .= "Content-Length: " . strlen($chrdata) . "\n";
                $s_Request .= "\n" . $chrdata . "\n\n";
                $fp = fsockopen ($server, $puerto, $errno, $errstr, 30) or die( \
"Error" );  fputs ($fp, $s_Request);
fclose($fp);

}
$url="http://ilhost";
$server="ilhost";
$puerto="80";
$datos="dato1=$dato1&dato2=$dato2";# aqui los datos que necesites
ilsocket($url, $server, $puerto, $datos)



puedes hacer $_REQUEST["dato1"]   $_REQUEST["dato2"] en la pagina a la que apuntes \
que podria ser una tuya como prueba

e insertarlo en una base de datos para que veas lo que llega, con esto no utilizas el \
lado del cliente para hacer el submit ya desde el servidor lo mandas, espero que te \
sirva


Joan Teixidó <joan.teixido@ya.com> escribió: Perdon por mi incultura: qué es abrir un \
socket??

Joan

-----Missatge original-----
De: Gerardo Aquino [mailto:mogurbon2000@yahoo.com.mx] 
Enviat: divendres, 17 / novembre / 2006 16:02
Per a: php-es@lists.php.net
Tema: Re: [PHP-ES] Como generar una firma electronica con SHA1 de forma
segura

lo que podria ser es que mandaras los valores por el metodo post abriendo un
socket , supongo al pto 80 asi no tendrias que hacer el form y un submit

Joan Teixidó  escribió:  Buenas, 



He creado un formulario de compra de un libro y una de las formas de pago es
con tarjeta de crédito/debito a través de una pasarela de pago (en este caso
de Caixa Catalunya). A la pasarela de pago le he de enviar estos datos con
post:



Importe, codigo compra , Codigo comercio, importe , moneda i
firmaElectronica (Ds_Merchant_Amount + Ds_Merchant_Order +
Ds_Merchant_MerchantCode + Ds_Merchant_Currency +
Ds_Merchant_MerchantSignature respectivamente)..



La firma electronica se genera con sha1 de la cadena concatenada de los
datos anteriores.clave secreta





Hasta aquí creo que es el procedimiento normal. Ahora mi duda es donde
guardar el valor de la clave secreta? A partir de aquí no se como continuar
de una forma segura. Lo que yo haría sería:



Para realizar el pago, el formulario nos dirige a la pagina tpv.php en un
directorio privado (es un hosting compartido y no lo puedo poner fuera del
root del sitio). La pagina tpv.php recibe por post la variables que he
comentado, genera el merchantSignature (a partir de la clave secreta que
esta guardada en la misma pagina tpv.php) y reenvia el formulario hacia la
web del banco. 



Mi duda és si con PHP se puede enviar datos por POST sin tener primero que
imprimir el form i hacer un submit? Porque si no se puede, lo único que se
me ocurre és poner:



print “datos del form en campos hidden” 



i con javascript enviar el formulario?? Que pasa entonces si javascript está
desactivado? Se podrian ver los datos del form (mirando el codigo html) i
descubrir la clave secreta, no?





Os he explicado todo el proceso pq supongo q estoy equivocado i la solucion
pasa por otro sistema… 



A ver si me podéis ayudar!



Gracias



(por cierto, aún tengo pendiente comprobar unas soluciones q me dio la lista
sobre mysql i dar los resultados… )



Joan











 __________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis! 
Regístrate ya - http://correo.yahoo.com.mx/ 

--
PHP Spanish Localization Talk Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



 		
---------------------------------
  Do You Yahoo!? La mejor conexión a Internet y 2GB extra a tu correo por $100 al \
mes. http://net.yahoo.com.mx 



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic