我正在尝试使用API方法从WHMCS导入到c#应用程序的所有WHMCS发票。当我尝试下载PDF文档时,有一个问题。没有API方法可以这样做,而且我不能在没有登录的情况下调用dl.php页面。我不能以管理员身份登录WHMCS方法,也不能使用客户端登录,因为(显然)我不知道他们的密码,我只有他们的MD5密码。
有什么解决办法吗?
谢谢
发布于 2016-05-20 17:45:12
根据此页的说法,这就是您可以下载发票而无需登录的方式。
创建一个php文件,比方说,gen_invoice_pdf.php,并将其放在根whmcs目录中。
将此代码添加到文件中:
<?php
include __DIR__ . '/init.php';
include __DIR__ . '/includes/invoicefunctions.php';
use WHMCS\Auth;
$user = filter_var($_GET['us'], FILTER_SANITIZE_STRING);
$pass = filter_var($_GET['pw'], FILTER_SANITIZE_STRING);
$id = filter_var($_GET['id'], FILTER_SANITIZE_NUMBER_INT);
$authAdmin = new Auth;
if ($authAdmin->getInfobyUsername($user) && $authAdmin->comparePassword($pass)) {
$isValid = true;
} else {
$isValid = false;
}
if (!$isValid) {
die('Access Denied');
}
if ($id > 0) {
$pdfdata = pdfInvoice($id);
header("Content-type:application/pdf");
header("Content-Disposition:attachment;filename=invoice_$id.pdf");
echo $pdfdata;
}要下载发票id: 5,请访问网址:
pdf.php?id=5&us=myuser&pw=mypass
注意:这将是任何人都可以访问的网址,您可以设置页面接受连接从特定的IP地址,例如。
更新:
添加了WHMCS管理身份验证,只适用于WHMCS >= 5.3.9,检查:管理密码散列。
https://stackoverflow.com/questions/37192006
复制相似问题