Возможно, воспринимайте это больше как конфиденциальность , чем безопасность .
У меня точно такая же проблема. При хранении пользовательского контента в каталогах, доступных через Интернет, на основе сгенерированного Монго идентификатора существует риск, если эти идентификаторы будут предсказуемыми, чтобы один пользователь мог получить доступ к контенту другого пользователя.
Я думаю, что совет других людей - правильный путь: знание URL частного пользовательского контента не должно быть достаточным для доступа к нему . Попытка доступа должна проверить, что соответствующий пользователь делает запрос.
Я собираюсь сделать это в Symfony2, сохранив пользовательский контент вне корневого веб-узла, а затем разрешив доступ к нему через новый маршрут / контроллер, который перед передачей ответа проверит некоторую идентифицирующую информацию о пользователь.