У нас есть система PHP, в которой мы используем «Класс интеграции PHP Paypal IPN» Майки Каррика (http://www.micahcarrick.com/php-paypal-ipn-integration-class.html).
). В своем примере кода он рекомендует проверять переменные POST перед передачей их в PayPal
switch ($_GET['action']) {
case 'process': // Process and order...
...
// This is where you would have your form validation and all that jazz.
// You would take your POST vars and load them into the class like below,
// only using the POST values instead of constant string expressions.
// For example, after ensureing all the POST variables from your custom
// order form are valid, you might have:
//
// $p->add_field('first_name', $_POST['first_name']);
// $p->add_field('last_name', $_POST['last_name']);
...
$custom=$_SESSION['sess_user_id']."~".$_POST['promo_code'];
$p->add_field('user_id', $_SESSION['sess_user_id']);
$p->add_field('custom', $custom);
$p->add_field('amount', $_POST['amount']);
...
$p->submit_paypal_post(); // submit the fields to paypal
break;
Однако мы не делаем этого для переменных, упомянутых выше.
Должны ли мы проверять (а) на этом этапе или на этапе, что PayPal (b) возвращает данные, или оба?
Как мы должны проверять данные?