我的网站使用WHMCS。付款后,在线银行服务访问我的网站(我的网站上的一个秘密页面),它接收到信息(POST
),告诉我的脚本我已经付款。然后,我的脚本使用WMHCS API创建一个新的主机帐户。PHP/WHMCS:收到付款后动态创建账户?
我必须使用哪种方法来保护这个网页,使用不当黑客?
我认为是有必须为要运行的脚本代码可以通过一个秘密的密码变量(POST
)的第一件事。但我认为这还不够。
我的网站使用WHMCS。付款后,在线银行服务访问我的网站(我的网站上的一个秘密页面),它接收到信息(POST
),告诉我的脚本我已经付款。然后,我的脚本使用WMHCS API创建一个新的主机帐户。PHP/WHMCS:收到付款后动态创建账户?
我必须使用哪种方法来保护这个网页,使用不当黑客?
我认为是有必须为要运行的脚本代码可以通过一个秘密的密码变量(POST
)的第一件事。但我认为这还不够。
使用SSL,设置>常规,一旦安装在您的证书指定SSL路径。
通常情况下,你应该代码您的WHMCS例如定制的支付网关。 http://docs.whmcs.com/Gateway_Module_Developer_Docs
如果您使用贝宝的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