2010-07-28 2 views
2

У меня есть страница confirm_payment.php, получающая данные POST с других страниц. Как я могу убедиться, что данные POST поступают только из одного конкретного домена?Как убедиться, что данные POST поступают из определенного домена?

Я не могу полагаться на IP-адреса, поскольку в моем случае это может измениться. Я хочу избегать «поддельных» представлений на мой серверный код confirm_payment.php.

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

+0

Кстати, я вижу, что вы задали этот тот же самый вопрос несколько раз. Если вам нужны более качественные ответы, вы можете попробовать использовать систему комментариев, чтобы узнать больше о респондентах. – NotMe

+0

Возможный дубликат [отправка данных на платежный шлюз и обратно - возможные проблемы] (http://stackoverflow.com/questions/3251293/sending-data-to-payment-gateway-and-back-possible-problems) – NotMe

+0

yup you право, первая часть охватывает почти то же самое, извините, мой плохой – spirytus

ответ

2

Джон Conde имел большое объяснение о том, как решить вашу проблему на: sending data to payment gateway and back - possible problems

Если вам нужна дополнительная информация, пожалуйста, вернуться к первоначальному вопросу.

+0

, пожалуйста, дайте мне знать, если я что-то упустил, но не все еще небезопасен, так как когда пользователь, перенаправленный на страницу шлюза платежей, все еще может легко искать скрытые поля ввода, создать собственную форму с этими полями и отправить его обратно на мою страницу? Насколько я знаю, эти переменные обычно четко отображаются как скрытые поля ввода, по крайней мере, в случае eWay (http://www.eway.com.au/Developer/eway-api/shared-payment-solution.aspx). Я предполагаю, что это дело с другими платежными шлюзами. Любые другие варианты, о которых вы можете думать? – spirytus

+0

@spirytus: Если eWay помещает ВСЕ данные, которые вы передаете им в скрытом поле ввода на их стороне (включая уникальный идентификатор), тогда вам нужно перейти на другой шлюз. Это не так, как это делают другие. – NotMe

0

Вы должны иметь свой сервер генерирует одноразовый номер (номер используется один раз), который получает отправил и проверенный (так как ваш сервер сгенерирован число может определять подлинные сообщения)