Я использую простую библиотеку кэша, которую я написал, что сохраняет данные, которые я хочу, чтобы в кэше, в файлы в каталоге/вар/WWW/my_site/кэш/Файлы кэша: как вы их защищаете, если у них должны быть права на запись?
Данный каталог разрешение на чтение/запись для всех, поэтому Апач процесс, выполняемый пользователем apache, может создавать файлы кэша CRUD.
Но тогда я думал, что кэширование конфиденциальных данных таким образом не было безопасным из-за разрешений на чтение/запись. Предположим, что у меня сложная система ACL, и я кэширую разрешения для каждого пользователя, чтобы их вычислить только один раз. Злоумышленник может отредактировать соответствующий файл кеша, чтобы предоставить полный доступ к веб-сайту.
Единственное решение, которое я могу думать о том, чтобы зашифровать файлы кэша, но это будет замедлить ход событий (с использованием кэш все равно будет быстрее, чем он не используется, но все же ..)
Любые идеи?
Шифрование файлов кеша будет только дополнять еще один этап «безопасности» для обхода. Если кто-то может пробиться достаточно далеко, чтобы добраться до файлов кеша и отредактировать их, они, безусловно, могут получить код и прочитать ключи и метод шифрования. –
@Marc B спасибо, что заметили это. – HappyDeveloper
Это не означает, что больше безопасности не плохо, но вы должны уравновесить нервы в предоставлении законного доступа v.s. вероятность того, что кто-то хочет сломать v.s. стоимость обработки этого разлома. Если вам понадобится 10 лет и 10 миллионов долларов для разработки модели безопасности и стоит еще больше в CPU и Y больше в памяти, и в итоге вам стоит всего 0,01 доллара США, то атакующий уже выиграл. Вы не храните 100 долларов в сейфе, который стоит 50 долларов. –