У меня есть сайт, на котором пользователям необходимо войти в систему, и аутентификация основана на переменных SESSION и БД.
Для упрощения позвольте мне описать это так: у меня есть простые пользователи, которые принадлежатгруппы, и у меня есть менеджеры групп.Все они имеют подписку.Когда менеджер группы решает обновить сервис, это делается сразу для всех его пользователей.Мне нужно обновить все подписки, и мне нужно будет платить за каждую подписку отдельно.
Итак.Что мне нужно сделать, так это перейти к БД и начать идти по очереди:
1. charge
2. receive status from cc company.
3. update the DB entry accordingly.
4. repeat for next simple user
Дело в том, что когда менеджер группы обновляет службу, мне нужно запустить пакетный процесс,Это может занять некоторое время, но если менеджер группы по какой-либо причине закрывает браузер (нажимает кнопку «Стоп», отключается питание, другие причины прекращаются), действие не будет выполнено.А пользователи останутся без лечения.
Я думал, что для этого нужно запустить команду оболочки с PHP-скриптом.Я бы отправил параметры в скрипт типа system ("php batch.php? ID = $ group_id? Process = all") , что, в свою очередь, вероятно, выполнит работу.
Myпроблема в том, что я привык аутентифицировать своих пользователей и данные на сайте, как сказано, по параметрам SESSION и т. д. Но в этом случае (вызов системной команды) я не могу по-настоящему проверить, кто на самом деле запустил этот скрипт.Это может быть пользователь, это может быть сценарий, который я намеревался.
Я хотел бы запретить пользователям доступ к этому сценарию, и я хочу, чтобы этот сценарий был завершен после его запуска.
Как я могу это сделать?Любые другие предложения?
Спасибо!