WHMCS Разрешить скрипту PHP доступ для загрузки файла

У меня есть сценарий, который я написал, и я пытаюсь создать средство автоматического обновления. Он извлекает zip-файл с помощью file_get_contents (), а затем распаковывает его. У меня есть программа обновления, но я не хочу, чтобы zip-файл моего скрипта просто лежал на моем сервере, чтобы кто-нибудь мог его загрузить. Итак, я установил, что только клиент, купивший этот продукт, может его загрузить.

Могу ли я создать форму «входа в систему», чтобы сценарий средства обновления PHP мог иметь разрешение на загрузку загрузки WHMCS?

Я понимаю, что это то, о чем следует спрашивать на форумах whmcs.com, но на их форумах очень мало активной поддержки.


person alexander7567    schedule 24.01.2013    source источник
comment
Вы не должны загружать его в своей общедоступной иерархии каталогов.   -  person meagar    schedule 25.01.2013
comment
Это не так. Это ниже public_html. Но когда вы используете ссылку для скачивания, предоставленную WHMCS, она загружается так, как если бы она была размещена в public_html.   -  person alexander7567    schedule 25.01.2013
comment
Вы можете использовать curl вместо file_get_contents для публикации комбинации имени пользователя и пароля. Обязательно используйте SSL.   -  person Green Black    schedule 25.01.2013
comment
но curl будет использовать пароль unix, верно? Я хочу использовать пароль клиента WHMCS   -  person alexander7567    schedule 25.01.2013


Ответы (1)


в соответствии с «кодом интеграции» в разделе «Утилиты» в меню администратора есть этот образец формы входа, который вы можете использовать:

<form method="post" action="https://yoursite.com/clients/dologin.php">
Email Address: <input type="text" name="username" size="50" /><br />
Password: <input type="password" name="password" size="20" /><br />
<input type="submit" value="Login" />
</form>

Действительно, curl тоже подойдет:

curl -X POST "https://yoursite.com/clients/dologin.php" \
    -d "username=yourusername" \
    -d "password=yourpassword"

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

person Kim Hoogenberg    schedule 14.05.2015