#php #session #session-cookies
#php #сессия #сеансовые файлы cookie
Вопрос:
Мы используем WHMCS для нашей биллинговой системы для нашего хостингового бизнеса. WHMCS написан на PHP. Как обычно, есть обычное окно входа, которое считывает базу данных и т.д. и т.п.И т.п.
Мы хотим разработать отдельную систему, чтобы позволить нашим клиентам управлять своими серверами с нами (вещи, не связанные с выставлением счетов). Возможно ли разрешить клиенту входить в WHMCS как обычно, а затем каким-то «волшебным» образом разрешить доступ к новому системному порталу?
Пожалуйста, имейте в виду, что WHMCS не имеет открытого исходного кода, поэтому я не могу коснуться этого кода, однако я могу запустить их на том же экземпляре Apache. Также, конечно, я хотел бы помнить о безопасности.
Любая помощь приветствуется
Ответ №1:
Вот пример того, как вы могли бы это сделать:
<?php
require("whmcs/dbconnect.php"); // You may have to change the path here
if ($_SESSION['uid']) {
echo "whmcs user logged in";
} else {
echo "whmcs user not yet login";
}
?>
Комментарии:
1. Не могли бы вы, пожалуйста, объяснить, почему мне нужно dbconnect.php ? Кроме того, $ _SESSION[‘uid’] просто проверяет, установлен ли uid? Мне не нужен isset?
2. dbconnect.php должны быть ваши WHMCS dbconnect.php файл. У них есть свой собственный код для создания / проверки сеанса, поэтому включение этого файла и использование $ _SESSION[‘uid’] — это самый простой способ выяснить, зарегистрирован ли пользователь, и получить его UID, если вам нужно использовать его в вашей собственной базе данных. $ _SESSION[‘uid’] должен быть возвращен как null, если пользователь не вошел в систему, поэтому нет необходимости использовать isset() (хотя, если вам так удобнее, сделайте это).
3. Отлично! Спасибо за вашу помощь! Я думаю, я все еще немного смущен, зачем мне нужны их dbconnect.php ? Если бы я не включил этот файл, были бы недоступны их переменные сеанса? Спасибо
4. Я не уверен, что вы можете исключить dbconnect.php файл, поскольку он зашифрован и еще много чего с помощью специального загрузчика, поэтому я не имею подробного представления о том, что он делает. Однако каждый пример, который я видел, использует файл, поэтому в худшем случае вы можете оставить его и просто узнать, работает ли страница 😉 Хотя это очень удобно, если вам нужно получить какие-либо данные о клиенте, поскольку оно включает информацию о подключении для WHMCS.
5. Небольшая проблема: как только пользователь входит в систему, а затем выходит из системы, uid, похоже, все еще установлен… Есть идеи?