PHP/WHMCS: динамическое создание учетных записей после получения оплаты?

Мой сайт использует WHMCS. Когда производится платеж, сервис онлайн-банка посещает мой сайт (секретную страницу на моем сайте), который получает информацию (POST), сообщающую моему скрипту, что мне заплатили. Затем мой сценарий использует API WMHCS для создания новой учетной записи хостинга.

Какие методы я должен использовать, чтобы защитить эту страницу от неправомерного использования хакерами?

Первое, о чем я подумал, это наличие переменной секретного пароля (POST), которую необходимо передать сценарию для запуска кода. Но я думаю этого будет недостаточно.


person user1091856    schedule 14.03.2012    source источник


Ответы (4)


Мое предложение состояло бы в том, чтобы использовать отдельную папку для этой конкретной страницы. Затем вы можете использовать .htaccess в этой папке, чтобы отклонить все запросы от доменов, кроме того, который вы хотите. В вашем .htaccess что-то вроде ниже будет работать для ваших нужд.

order deny,allow
deny from all
allow from .somedomain.com
person Jean    schedule 18.02.2013

Используйте SSL, Настройки > Общие и назначьте путь ssl после установки сертификата.

person rogan    schedule 14.03.2012

Как правило, вы должны запрограммировать собственный платежный шлюз для своего экземпляра whmcs. http://docs.whmcs.com/Gateway_Module_Developer_Docs

person Maksym Polshcha    schedule 02.04.2012

Если вы используете ipn PayPal или любое другое уведомление о платеже, вы можете, по крайней мере, подтвердить, что оно исходит из законного источника, например:

$remotehost = gethostbyaddr($_SERVER['REMOTE_ADDR']); // turn remote ip into real host (paypal people configure dns properly)

$address = 'paypal.com'; // what to look for 

if(preg_match("/\b".preg_quote($address)."\b/i",$remotehost))
{
    // do ipn and it's ok
}
else
{
    // no ipn, because I cannot resolve that host to something paypal.com
}
person ganjubas    schedule 14.02.2013