Безопасность куков и сессий?
Сессия - это не на сервере,  это абстрактное понятие, сделанное для упрощения вхождения в курс начинающих (и говно-) кодеров.
(1)Юзер логинится (аутентифицируеится), под его права все роутеры-шаблонизаторы исходя из политик генерируют и отправляют контент. Все. Один запрос страницы - один ответ.
(2)Чтобы юзер не вводил логин-пароль постоянно, при первом логине ему создается идентификатор и отправляется в куках. Т.о. при каждом запросе юзер вместо логина отправляет этот идентификатор. А сервер   - см. (1)
Естественно, этот индентификатор можно перехватить (по незащищенному соединению за милую душу, по защищенному - трояны никто не отменял) и авторизоваться вместо юзера.
Поэтому на стороне сервера по разному решают эту проблему:
Вк пишут мыло на каждый логин "вы вошли", Гугл пишет (с этого ИП вы не входили, подтвердите), кто-то забивает, кто-то (банки) каждый новый логин требуют подтверждать СМС.
Как сервер определяет подозрительность? от слепков браузера до часовых поясов.
почитай про OAuth
почитай про CSRF
Нет абсолютной безопасности и секретности. Смиритесь с этим. Можно только максимально усложнить жизнь злоумышленнику. Включите SSL и этого в большинстве случаев достаточно.
По сути содержимого куки - это просто строка текста, по-возможности уникальная для каждой сессии, но не обязательно. Зависит от цели. Используются в основном числовые формы, так как проще генерировать уникальные случайные последовательности. Но туда можно записать хоть четверостишие АС Пушкина. На одном компе можно отрыть два браузера, перетащить во второй куки первого (при определенных условиях) и сервер будет считать это одной сессией.