php & mySQL: хранение документов, xls, zip и т. д. с ограниченным доступом и архивированием - PullRequest
0 голосов
/ 19 апреля 2010

В моем приложении пользователи могут загружать такие файлы, как doc, xls, zip и т. Д. Я хотел бы знать, как хранить эти файлы на моем веб-сайте, и доступ к нему имеют только ограниченные пользователи. У меня может быть группа людей, и только эти группы могут получить доступ к этим загруженным файлам. Я знаю, что некоторые могут попытаться просто скопировать ссылку на документ или файл и передать ее другому (не разрешенному) пользователю, и они смогут загрузить ее. Так как я могу предотвратить это? Как я могу проверить, был ли запрос на загрузку файла сделан законным пользователем, который имеет доступ к файлу? Имена пользователей членов группы хранятся в базе данных вместе с именем документа и местоположением в базе данных, чтобы они могли получить к нему доступ. Но как я могу предотвратить доступ неразрешенных пользователей к этим конфиденциальным данным любым способом?

С учетом вышесказанного, как мне хранить эти документы? Должен ли я хранить документы в столбце BLOB-объектов в базе данных или просто позволить пользователю загружать файлы в папку и просто сохранять путь к файлу в базе данных? Безопасность документов имеет первостепенное значение. Так что любая процедура, которая может облегчить эту функцию, определенно поможет. Я не занимаюсь объектно-ориентированным программированием, поэтому, если у вас есть более простой код, которым вы хотели бы поделиться со мной, я был бы очень признателен.

Кроме того, как мне архивировать старые документы? Например, есть документы, которым исполнился 1 год, и я хочу сохранить место на моем сайте, заархивировав их, но при этом сделать их доступными для пользователя, когда им это нужно. Как мне это сделать?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 19 апреля 2010

Решил все равно ответить ответом;)

Вот простое, но, на мой взгляд, полезное (не использовал его сам, просто быстро нашел его для вас) руководство по загрузке и загрузке файлов в / из баз данных .

Часть загрузки выглядит хорошо, но не используйте ту часть раздела загрузки, которая хочет отображать ссылки на файлы - я не думаю, что вы этого хотите. Вместо этого немедленно откройте содержимое файла, как описано в руководстве, не забывая установить заголовок.

0 голосов
/ 19 апреля 2010

Сохраните их как BLOB в базе данных. Таким образом, вы можете связывать файлы с группами пользователей и иметь ограничения безопасности, как вы обычно делаете с сайтами, связанными с пользователями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...