par
alcofribas » 14 nov. 2005, 15:25
Bon,
Au bout d'une semaine de vaine communication avec la hotline d'Atos, je me résouds à vous envoyer le code qui pourrait clocher.
Quelles sont les fonctions qui pourraient être désactivées sur mon hébergement pour qu'un exec ne fonctionne pas?
Voici le code:
<!-- Affichage du header html -->
<?php
print("<HTML><HEAD><TITLE>CYBERPLUS - Paiement Securise sur Internet</TITLE></HEAD>");
print("<BODY bgcolor=#ffffff>");
print("<Font color=#000000>");
print("<center><H1>Test de l'API plug-in CYBERPLUS</H1></center><br><br>");
// Affectation des paramËtres obligatoires
$parm="merchant_id=xxxxxxxxx";
$parm="$parm merchant_country=fr";
$parm="$parm amount=100";
$parm="$parm currency_code=978";
// Initialisation du chemin du fichier pathfile (‡ modifier)
// ex :
// -> Windows : $parm="$parm pathfile=c:\\repertoire\\pathfile";
// -> Unix : $parm="$parm pathfile=/home/repertoire/pathfile";
$parm="$parm pathfile=/home/rep/www/cyberplus/pathfile";
// Si aucun transaction_id n'est affectÈ, request en gÈnËre
// un automatiquement ‡ partir de heure/minutes/secondes
// RÈfÈrez vous au Guide du Programmeur pour
// les rÈserves Èmises sur cette fonctionnalitÈ
//
// $parm="$parm transaction_id=123456";
// Affectation dynamique des autres paramËtres
// Les valeurs proposÈes ne sont que des exemples
// Les champs et leur utilisation sont expliquÈs dans le Dictionnaire des donnÈes
//
// $parm="$parm normal_return_url=http://www.domaine.fr/cgi-bin/call_response.php";
// $parm="$parm cancel_return_url=http://www. domaine.fr/cgi-bin/call_response.php";
// $parm="$parm automatic_response_url=http://www. domaine.fr/cgi-bin/call_autoresponse.php";
$parm="$parm language=fr";
$parm="$parm payment_means=CB,2,VISA,2,MASTERCARD,2";
$parm="$parm header_flag=no";
$parm="$parm capture_day=";
$parm="$parm capture_mode=";
$parm="$parm bgcolor=";
$parm="$parm block_align=";
$parm="$parm block_order=";
$parm="$parm textcolor=";
$parm="$parm receipt_complement=";
$parm="$parm caddie=mon_caddie";
$parm="$parm customer_id=";
$parm="$parm customer_email=";
$parm="$parm customer_ip_address=";
$parm="$parm data=";
$parm="$parm return_context=";
$parm="$parm target=";
$parm="$parm order_id=";
// Les valeurs suivantes ne sont utilisables qu'en prÈ-production
// Elles nÈcessitent l'installation de vos fichiers sur le serveur de paiement
//
// $parm="$parm normal_return_logo=";
// $parm="$parm cancel_return_logo=";
// $parm="$parm submit_logo=";
// $parm="$parm logo_id=";
// $parm="$parm logo_id2=";
// $parm="$parm advert=";
// $parm="$parm background_id=";
// $parm="$parm templatefile=";
// insertion de la commande en base de donnÈes (optionnel)
// A dÈvelopper en fonction de votre systËme d'information
// Initialisation du chemin de l'executable request (‡ modifier)
// ex :
// -> Windows : $path_bin = "c:\\repertoire\\bin\\request";
// -> Unix : $path_bin = "/home/repertoire/bin/request";
//
$path_bin="/home/rep/www/cyberplus/request";
// Appel du binaire request
$result = exec("$path_bin $parm");
// sortie de la fonction : $result=!code!error!buffer!
// - code=0 : la fonction gÈnËre une page html contenue dans la variable buffer
// - code=-1 : La fonction retourne un message d'erreur dans la variable error
//On separe les differents champs et on les met dans une variable tableau
$tableau = explode("!","$result");
// rÈcupÈration des paramËtres
$code = $tableau[1];
$error = $tableau[2];
$message = $tableau[3];
// analyse du code retour
if(( $code =="" ) && ( $error =="" ))
{
print("<BR><CENTER>erreur appel request</CENTER><BR>");
print("executable request non trouve $path_bin");
}
// Erreur, affiche le message d'erreur
elseif($code != 0){
print("<center><b><h2>Erreur appel API de paiement.</h2></center></b>");
print("<br><br><br>");
print("message erreur : $error <br>");
}
// OK, affiche le formulaire HTML
else {
print("<br><br>");
// OK, affichage du mode DEBUG si activÈ
print("$error<br>");
print("$message<br>");
}
print("</BODY></HTML>");
?>
Bon,
Au bout d'une semaine de vaine communication avec la hotline d'Atos, je me résouds à vous envoyer le code qui pourrait clocher.
Quelles sont les fonctions qui pourraient être désactivées sur mon hébergement pour qu'un exec ne fonctionne pas?
Voici le code:
[php]
<!-- Affichage du header html -->
<?php
print("<HTML><HEAD><TITLE>CYBERPLUS - Paiement Securise sur Internet</TITLE></HEAD>");
print("<BODY bgcolor=#ffffff>");
print("<Font color=#000000>");
print("<center><H1>Test de l'API plug-in CYBERPLUS</H1></center><br><br>");
// Affectation des paramËtres obligatoires
$parm="merchant_id=xxxxxxxxx";
$parm="$parm merchant_country=fr";
$parm="$parm amount=100";
$parm="$parm currency_code=978";
// Initialisation du chemin du fichier pathfile (‡ modifier)
// ex :
// -> Windows : $parm="$parm pathfile=c:\\repertoire\\pathfile";
// -> Unix : $parm="$parm pathfile=/home/repertoire/pathfile";
$parm="$parm pathfile=/home/rep/www/cyberplus/pathfile";
// Si aucun transaction_id n'est affectÈ, request en gÈnËre
// un automatiquement ‡ partir de heure/minutes/secondes
// RÈfÈrez vous au Guide du Programmeur pour
// les rÈserves Èmises sur cette fonctionnalitÈ
//
// $parm="$parm transaction_id=123456";
// Affectation dynamique des autres paramËtres
// Les valeurs proposÈes ne sont que des exemples
// Les champs et leur utilisation sont expliquÈs dans le Dictionnaire des donnÈes
//
// $parm="$parm normal_return_url=http://www.domaine.fr/cgi-bin/call_response.php";
// $parm="$parm cancel_return_url=http://www. domaine.fr/cgi-bin/call_response.php";
// $parm="$parm automatic_response_url=http://www. domaine.fr/cgi-bin/call_autoresponse.php";
$parm="$parm language=fr";
$parm="$parm payment_means=CB,2,VISA,2,MASTERCARD,2";
$parm="$parm header_flag=no";
$parm="$parm capture_day=";
$parm="$parm capture_mode=";
$parm="$parm bgcolor=";
$parm="$parm block_align=";
$parm="$parm block_order=";
$parm="$parm textcolor=";
$parm="$parm receipt_complement=";
$parm="$parm caddie=mon_caddie";
$parm="$parm customer_id=";
$parm="$parm customer_email=";
$parm="$parm customer_ip_address=";
$parm="$parm data=";
$parm="$parm return_context=";
$parm="$parm target=";
$parm="$parm order_id=";
// Les valeurs suivantes ne sont utilisables qu'en prÈ-production
// Elles nÈcessitent l'installation de vos fichiers sur le serveur de paiement
//
// $parm="$parm normal_return_logo=";
// $parm="$parm cancel_return_logo=";
// $parm="$parm submit_logo=";
// $parm="$parm logo_id=";
// $parm="$parm logo_id2=";
// $parm="$parm advert=";
// $parm="$parm background_id=";
// $parm="$parm templatefile=";
// insertion de la commande en base de donnÈes (optionnel)
// A dÈvelopper en fonction de votre systËme d'information
// Initialisation du chemin de l'executable request (‡ modifier)
// ex :
// -> Windows : $path_bin = "c:\\repertoire\\bin\\request";
// -> Unix : $path_bin = "/home/repertoire/bin/request";
//
$path_bin="/home/rep/www/cyberplus/request";
// Appel du binaire request
$result = exec("$path_bin $parm");
// sortie de la fonction : $result=!code!error!buffer!
// - code=0 : la fonction gÈnËre une page html contenue dans la variable buffer
// - code=-1 : La fonction retourne un message d'erreur dans la variable error
//On separe les differents champs et on les met dans une variable tableau
$tableau = explode("!","$result");
// rÈcupÈration des paramËtres
$code = $tableau[1];
$error = $tableau[2];
$message = $tableau[3];
// analyse du code retour
if(( $code =="" ) && ( $error =="" ))
{
print("<BR><CENTER>erreur appel request</CENTER><BR>");
print("executable request non trouve $path_bin");
}
// Erreur, affiche le message d'erreur
elseif($code != 0){
print("<center><b><h2>Erreur appel API de paiement.</h2></center></b>");
print("<br><br><br>");
print("message erreur : $error <br>");
}
// OK, affiche le formulaire HTML
else {
print("<br><br>");
// OK, affichage du mode DEBUG si activÈ
print("$error<br>");
print("$message<br>");
}
print("</BODY></HTML>");
?>
[/php]