Я сохранил флаги администратора в глобальной переменной $ _SESSION. Это только модифицируемая серверная часть, поэтому я не вижу проблемы с безопасностью. В этом сообщении упоминается, что это небезопасно: https://codereview.stackexchange.com/a/29719
Почему это?
Storing a admin flag in the session is only slightly better than adding a GET parameter admin=1. In other words this is no secure solution.
Это не правильно. Безопасность этого в порядке.