Наилучшая практика / Как защитить файлы выше уровня root и хешировать ссылки для показа клиентам в ограниченной учетной записи?

У меня есть файлы в папках, размещенных над корнем web public_html, и я хочу отобразить хешированные ссылки на клиентов, которые приобрели продукты (цифровые загрузки в магазине электронной коммерции).

Страница области учетной записи — .php, и, конечно же, клиенты получат доступ к этой странице, используя свой логин / пароль, и будут иметь доступ к просмотру / загрузке только своих приобретенных продуктов, для которых задано отображение при получении заказов из базы данных с помощью вызова функций и echo ‘ Информация о строке таблицы на странице. Доступ к странице ограничен через авторизованный логин / пароль клиента (client_id).

Пути к моим файлам записаны в базе данных MySQL, поэтому они должны быть доступны для echo, но я хочу хешировать ссылки, чтобы клиенты не могли просто обмениваться прямыми URL-адресами в Интернете (как это делают … пираты, arrahhh!).

Хорошо ли я размещаю указанные файлы просто над корнем или лучше хешировать эти ссылки для дополнительной защиты, чтобы избежать также внедрения SQL-кода … и если да, то какой код мне нужно реализовать для защиты вещей?

В конечном итоге я хочу защитить файловый сервер и отобразить хешированную ссылку для тех и только тех клиентов, которые приобрели продукт. Но я не уверен (как), что лучше всего защищает меня, мои файлы и инвестиции клиентов …?

Спасибо!

Какой код можно использовать для безопасного распространения / печати файлов среди пользователей с использованием PHP? Я застрял для ответа.

0

Решение

Я решил эту проблему раньше. Моя стратегия заключалась в том, чтобы размещать файлы на Amazon CloudFront и использовать подписанные URL-адреса. Когда страница загружена, для этого пользователя создается URL. Вы можете ограничить совместное использование этих ссылок, разрешив использовать URL-адрес в течение определенного периода времени или по определенному IP-адресу и т. Д.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]