Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP/WHMCS:在收到付款后动态创建帐户?_Php_Whmcs - Fatal编程技术网

PHP/WHMCS:在收到付款后动态创建帐户?

PHP/WHMCS:在收到付款后动态创建帐户?,php,whmcs,Php,Whmcs,我的网站使用WHMC。付款后,在线银行服务会访问我的网站(我网站中的一个秘密页面),该网站接收信息(POST)告诉我的脚本我已收到付款。然后,我的脚本使用WMHCS API创建一个新的托管帐户 我必须使用什么方法来保护此页面不被黑客不当使用 我想到的第一件事是有一个秘密密码变量(POST),必须传递该变量才能让脚本运行代码。但我认为这还不够。使用SSL,设置>常规,并在安装证书后分配SSL路径。通常,您应该为您的whmcs实例编写自定义支付网关 如果您使用paypal的ipn或任何其他支付通知,

我的网站使用WHMC。付款后,在线银行服务会访问我的网站(我网站中的一个秘密页面),该网站接收信息(
POST
)告诉我的脚本我已收到付款。然后,我的脚本使用WMHCS API创建一个新的托管帐户

我必须使用什么方法来保护此页面不被黑客不当使用


我想到的第一件事是有一个秘密密码变量(
POST
),必须传递该变量才能让脚本运行代码。但我认为这还不够。

使用SSL,设置>常规,并在安装证书后分配SSL路径。

通常,您应该为您的whmcs实例编写自定义支付网关

如果您使用paypal的ipn或任何其他支付通知,您至少可以验证它是否来自合法来源,例如:

$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
}

我的建议是为特定页面使用单独的文件夹。 然后,您可以在该文件夹中使用.htaccess来拒绝来自域的所有请求,所需的请求除外。 在.htaccess中,下面这样的内容将满足您的需要

order deny,allow
deny from all
allow from .somedomain.com