Может ли реализация openssl помешать пользователям изменять значения кнопок? - PullRequest
0 голосов
/ 05 мая 2011

Может ли реализация openssl помешать пользователям изменять значения кнопок? Я исследовал кнопки шифрования, от хостинга до использования openssl. Использование размещенных кнопок обеспечит безопасность за счет гибкости, хотя есть переменные, которые вы можете переопределить, но все же вы не можете переопределить важные.

  1. будет ли использование и реализация openssl на моем веб-сервере препятствовать пользователям изменять неопубликованную кнопку PayPal?

  2. или было бы лучше вернуться к расположенной на хосте кнопке и использовать / подтвердить с использованием IPN?

Ответы [ 2 ]

0 голосов
/ 15 мая 2011

Мой ответ не является специфичным для PayPal (применяется к любому виду ввода HTTP-формы), но короткий ответ - нет.Даже SSL не может помешать браузеру изменять значения формы, которые он получает.

Пользователь может использовать букмарклет , чтобы выполнить программу JavaScript по своему выбору на вашей странице после загрузки, чтоимеет возможность изменять значения формы.Поскольку SSL защищает только транспорт между браузером и сервером, а не после того, как браузер обработал страницу, не имеет значения, используете ли вы ее.

Это можно автоматизировать с помощью Greasemonkey, что является той же идеей, за исключением того, что пользователям еще проще устанавливать чужие JavaScript-программы для запуска на вашей веб-странице.Как и выше, использование SSL вообще не влияет на это, поскольку все это выполняется на стороне клиента, над которым вы, как сервер, не можете контролировать.

Как вы упоминали, использование зашифрованных кнопок PayPal решит проблему.проблема, поскольку любое изменение параметров кнопки приведет к аннулированию контрольной суммы, а PayPal не примет элемент.

0 голосов
/ 13 мая 2011

Лучшим решением будет использование Express Checkout.Это дает вам гораздо большую гибкость, чем когда-либо могут предложить стандартные кнопки.

Если вы думаете, что делаете IPN, вы, вероятно, достаточно способны для интеграции Express Checkout.Все, что это на самом деле, - это 1 вызов API, за которым следует перенаправление на PayPal, и минимум еще 1 вызов API для завершения платежа.

Типичный поток будет выглядеть следующим образом:

  1. Вызовите API SetExpressCheckout.Если вы новичок в этом, это стало просто благодаря интерфейсу API PayPal NVP.Вы можете просто отправить данные в виде строки GET NVP на https://api -3t.paypal.com / nvp и получить ответ обратно в том же формате.
  2. Возьмите токен изответ и перенаправить на https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=XXXXXXX (https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=XXXXXXX для тестирования в песочнице)
  3. Как только покупатель вернется, PayPal добавит PAYERID к вашему RETURNURL.Если вы не можете его найти, вызовите API GetExpressCheckoutDetails и предоставьте свой токен для его получения.
  4. С помощью PAYERID и TOKEN вызовите DoExpressCheckoutPayment, чтобы завершить платеж.

Чтобы получитьНачнем с этого, я бы посоветовал взглянуть на PHP NVP SDK, который они предлагают по https://www.x.com/community/ppx/sdks#NVP

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...