BLOB более безопасен, чем разрешение на запись в каталог на веб-сервере - PullRequest
1 голос
/ 15 ноября 2010

Я строю систему, которая позволяет входить в базу данных (подумайте, если хотите, учетные записи пользователей), чтобы изображение было связано с ней.Это будут маленькие изображения, и их будет не много.

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

Так что потенциальные проблемы безопасности в Интернетепользователи загружают образ на сервер, достаточно значительный, чтобы получить небольшой удар по производительности или я слишком осторожен?

Сайт построен на ASP.NET 4.0, а база данных - Sql Server 2008, сервер, который я используюДля размещения сайта может использоваться Windows Server 2003 или 2008.

Ответы [ 2 ]

2 голосов
/ 15 ноября 2010

Да, это более безопасно.Если бы вы использовали PHP, я мог бы привести конкретный пример того, почему.Достаточно сказать, что пользователь может использовать дыру в вашем коде / системе, которая позволила бы ему выполнять код, содержащийся в том, что казалось изображением.SQL-инъекция, но обычно ясно, правильно ли вы это сделали или нет.

1 голос
/ 15 ноября 2010

Да, использование больших двоичных объектов в базе данных sql для хранения конфиденциальной информации очень безопасно.

1) Полностью устраняет проблему обхода каталога.

2) Легко применить контроль доступа к файлу отдельно и связать его с пользователями / группами.

3) База данных имеет встроенное шифрование.

В качестве альтернативы безопасным и быстрым подходом является хранение файлов вне веб-корня. Измените имя файла на первичный ключ и сохраните метаданные (например, управление доступом) в базе данных. Когда вы обслуживаете файл, asp.net может искать первичный ключ на основе имени файла и открывать файл на диске.

...