Хранение PDF в SQL Server таблице
-
- Уже с Приветом
- Posts: 1369
- Joined: 05 Sep 2008 01:22
Хранение PDF в SQL Server таблице
Всем привет.
Собственно вопрос - какие за и против того, чтобы хранить PDF не как отдельные файлы, а в SQL Server таблице в Binary.
Файлы будут открываться с вебсайта в браузере. Почему в SQL Server таблице? Ну чтобы по прямому линку к файлу его невозможо было открыть. Тоесть - самих файлов на диске не будет.
При клике на кнопку на страничке будет идти запрос к SQL Server таблице и оттуда доставаться Binary дата и через Response.ContentType = "application/pdf" будет показываться на страничке.
Есть ли другие варианты?
Дело в том, что там будет инфа о пациентах.
Спасибо.
Собственно вопрос - какие за и против того, чтобы хранить PDF не как отдельные файлы, а в SQL Server таблице в Binary.
Файлы будут открываться с вебсайта в браузере. Почему в SQL Server таблице? Ну чтобы по прямому линку к файлу его невозможо было открыть. Тоесть - самих файлов на диске не будет.
При клике на кнопку на страничке будет идти запрос к SQL Server таблице и оттуда доставаться Binary дата и через Response.ContentType = "application/pdf" будет показываться на страничке.
Есть ли другие варианты?
Дело в том, что там будет инфа о пациентах.
Спасибо.
-
- Уже с Приветом
- Posts: 549
- Joined: 07 Jan 2016 13:04
Re: Хранение PDF в SQL Server таблице
Можете хранить в базе ссылку на файл, например в S3, и ключи шифрования, чтоб пациенты не утекли. Просто недостаток вашего решения в том, что ваши транзакции в СУБД резко подорожают в вычислительном плане и вы потеряете в производительности.
-
- Уже с Приветом
- Posts: 1369
- Joined: 05 Sep 2008 01:22
Re: Хранение PDF в SQL Server таблице
что мешает в этом случае открыть PDF напрямую http://www.mysite.com/myfolder/mypd.pdf?
-
- Уже с Приветом
- Posts: 7723
- Joined: 29 Mar 2000 10:01
- Location: Kirkland,WA
Re: Хранение PDF в SQL Server таблице
Docs
https://docs.microsoft.com/en-us/sql/re ... rver-ver15
отсутствие прямой ссылки это не защита сама по себе.
https://docs.microsoft.com/en-us/sql/re ... rver-ver15
отсутствие прямой ссылки это не защита сама по себе.
-
- Уже с Приветом
- Posts: 1964
- Joined: 11 Mar 2015 01:12
Re: Хранение PDF в SQL Server таблице
Вам же надо будет это дело сертифицировать по HIPAA. От того, что вы доки засунете в виде блоба в СУБД безопаснее не станет. Данные должны быть зашифорованы, как при храннии, так и при передаче. Товарищ Флеш в теме не отписывается, наверное, потому что подавился кофе.
-
- Уже с Приветом
- Posts: 607
- Joined: 17 Dec 2009 11:27
Re: Хранение PDF в SQL Server таблице
Была аналогичная фича в моей практике еще на classic asp. Пдф c меддаными загружались через форму на сайте, потом шифровались не помню какой компонентой с добавлением простой соли . Также и выдавались в админке после расшифровки. Сами файлы лежали на диске. Но не читались. Главно "соль" не потерять Понадобились мне старые файлы как-то... Еще до меня были сделаны. Не помню каким образом нашел все-таки в свн и тд старую соль.Sasha3091 wrote: ↑31 Jan 2020 05:00 Всем привет.
Собственно вопрос - какие за и против того, чтобы хранить PDF не как отдельные файлы, а в SQL Server таблице в Binary.
Файлы будут открываться с вебсайта в браузере. Почему в SQL Server таблице? Ну чтобы по прямому линку к файлу его невозможо было открыть. Тоесть - самих файлов на диске не будет.
При клике на кнопку на страничке будет идти запрос к SQL Server таблице и оттуда доставаться Binary дата и через Response.ContentType = "application/pdf" будет показываться на страничке.
Есть ли другие варианты?
Дело в том, что там будет инфа о пациентах.
Спасибо.
-
- Уже с Приветом
- Posts: 1600
- Joined: 18 Jun 2006 19:40
- Location: СНГ->USA
Re: Хранение PDF в SQL Server таблице
Даже если фаилы будут в базе, то у каждого фаила будет уникальный URL, так?Sasha3091 wrote: ↑31 Jan 2020 05:20 что мешает в этом случае открыть PDF напрямую http://www.mysite.com/myfolder/mypd.pdf?
Следовательно, не важно где фаилы будут физически находиться.
Вы можете фаилы хранить на диске, но браузеру их отдавать как Stream byte[]
https://stackoverflow.com/questions/320 ... ith-a-name
Я бы в базу их не ставил, а хранил на диске, но прямого URL к этим фаилам не делал.
-
- Уже с Приветом
- Posts: 1369
- Joined: 05 Sep 2008 01:22
Re: Хранение PDF в SQL Server таблице
Стремный вариант, можно еще проще - переименовать расширение в .res, ну а потом уже отдавать как Stream byte[].
Двже, если просекут прямой URL - получат 404.3 вмесо файла.
Кстати, заметил странный баг - напрямую файл в браузере открывается. Через Stream byte[] - нет. Причем, exception не вылетает. Ругается сам браузер. Не на всех PDF такое.
Двже, если просекут прямой URL - получат 404.3 вмесо файла.
Кстати, заметил странный баг - напрямую файл в браузере открывается. Через Stream byte[] - нет. Причем, exception не вылетает. Ругается сам браузер. Не на всех PDF такое.
-
- Уже с Приветом
- Posts: 2603
- Joined: 19 Jun 2003 20:22
- Location: USA
Re: Хранение PDF в SQL Server таблице
Stream byte - это хорошее решение. Плюс надо перед отдачей расшифровать из внутреннего вашего ключа (он может быть уникальным для каждого пациента), во временный одноразовый ключ для раздачи. Раздачи кстати тоже можно логить, для аудита - с датой, ключом временной раздачи, номером пациента, айпишником куда отдали. А пациенту рисовать ПДФ и временный одноразовый ключ. Чтобы если файл перехватят - только пациент мог расшифровать.Sasha3091 wrote: ↑31 Jan 2020 15:59 Стремный вариант, можно еще проще - переименовать расширение в .res, ну а потом уже отдавать как Stream byte[].
Двже, если просекут прямой URL - получат 404.3 вмесо файла.
Кстати, заметил странный баг - напрямую файл в браузере открывается. Через Stream byte[] - нет. Причем, exception не вылетает. Ругается сам браузер. Не на всех PDF такое.
-
- Уже с Приветом
- Posts: 1369
- Joined: 05 Sep 2008 01:22
Re: Хранение PDF в SQL Server таблице
Термо... ну вы поняли - и все ключи шифрования наши:)
-
- Уже с Приветом
- Posts: 10396
- Joined: 04 Feb 2004 14:14
- Location: Edgewater, NJ
Re: Хранение PDF в SQL Server таблице
Можно разные решения на эту тему придумать, чтобы ограничить доступ одного чела только к его файлу. Советую посмотреть в сторону Content Delivery Network от облачных решений. У них уже все заточено под эти нужды. Далете токен челу перед запросом файла в облако Амазона и дело в шляпе. Не нужно велосипед изобретать в очередной раз как вы выше делаете Если не понравится их решение, то можно подобное самому запилить на своем сервере.Sasha3091 wrote: ↑31 Jan 2020 05:20 что мешает в этом случае открыть PDF напрямую http://www.mysite.com/myfolder/mypd.pdf?
Вот документация:
https://docs.aws.amazon.com/mediapackag ... -auth.html
-
- Уже с Приветом
- Posts: 1369
- Joined: 05 Sep 2008 01:22
Re: Хранение PDF в SQL Server таблице
я боюсь, что тогда HIPAA сертификация не пройдет
-
- Уже с Приветом
- Posts: 10396
- Joined: 04 Feb 2004 14:14
- Location: Edgewater, NJ
Re: Хранение PDF в SQL Server таблице
Думаю пройдет сертификация на ура. Все серьезно у них и технология зарекомендовавшая себя. Главное без ошибок внедряйте и тестируйте.
Иначе свой сервер сделайте с проверкой токенов и раздачей файлов из файловой системы. Но выше точно сказали, что файлы не нужно хранить в базенке, лучше в файловой системе сервера со ссылками из БД. Нужно будет прикуртить проверку дополнительного токена пользователя и соотвествие разрешенных для просмотра ему файлов.
-
- Уже с Приветом
- Posts: 10396
- Joined: 04 Feb 2004 14:14
- Location: Edgewater, NJ
Re: Хранение PDF в SQL Server таблице
Раньше работал с медицинскими данными с ограничениями HIPPA сертификации. Поэтому у меня есть интерес к этой теме. Похоже, что использовать можно предварительно заключив специальный договор с Амазоном. Вот что удалось найти не тему AWS и HIPPA.
https://www.hipaajournal.com/amazon-clo ... compliant/
is Amazon CloudFront HIPAA Compliant?
In order for any cloud service to be used in conjunction with protected health information, HIPAA-covered entities must enter into a business associate agreement with the service provider. Therefore, before Amazon CloudFront can be deployed, a HIPAA-compliant business associate agreement must be obtained.
Recently, Amazon has updated its HIPAA compliance program and CloudFront has now been included as a HIPAA-eligible service. CloudFront is now included in the list of services covered by the business associate agreement provided for AWS. If you have already executed a BAA for AWS, it is possible to use CloudFront to deliver content containing PHI. However, make sure you check that your BAA specifically states CloudFront is covered.
The service should also be configured to log CloudFront usage data for auditing purposes for HIPAA-compliant workloads. Access logs should be enabled on the platform and requests sent to the CloudFront API should be captured.
Provided a BAA has been obtained for AWS – that includes CloudFront – and the solution is configured correctly, Amazon CloudFront is HIPAA compliant and can be used by healthcare organizations without violating HIPAA Rules.
-
- Уже с Приветом
- Posts: 63430
- Joined: 03 Nov 2004 05:31
- Location: RU -> Toronto, ON
Re: Хранение PDF в SQL Server таблице
приятно что ктото радеет за моё здоровьеvoyager3 wrote:Вам же надо будет это дело сертифицировать по HIPAA. От того, что вы доки засунете в виде блоба в СУБД безопаснее не станет. Данные должны быть зашифорованы, как при храннии, так и при передаче. Товарищ Флеш в теме не отписывается, наверное, потому что подавился кофе.
Not everyone believes what I believe but my beliefs do not require them to.
-
- Уже с Приветом
- Posts: 10396
- Joined: 04 Feb 2004 14:14
- Location: Edgewater, NJ
Re: Хранение PDF в SQL Server таблице
Мне вот с этой хиппой нравилось раньше, что Буш всех заставлял в медицинской сфере не спрашивать ССН у пациентов/клиентов. Я в те времена как раз работал в этой области, поэтому в первую очередь боялись под раздачу попасть, если где-то ССН в базе будет хранится. В крайнем случае разрешали последних 4 цифры ССН хранить. А сейчас что? Опять все распоясались при Обаме с Трампом - налево и направо мой ССН срашивают. Кредитки, мед страховки, банки, брокеры и т.д. Все-таки при Буше больше порядка было в этом планеFlash-04 wrote: ↑31 Jan 2020 18:49приятно что ктото радеет за моё здоровьеvoyager3 wrote:Вам же надо будет это дело сертифицировать по HIPAA. От того, что вы доки засунете в виде блоба в СУБД безопаснее не станет. Данные должны быть зашифорованы, как при храннии, так и при передаче. Товарищ Флеш в теме не отписывается, наверное, потому что подавился кофе.
-
- Уже с Приветом
- Posts: 12158
- Joined: 02 Oct 2000 09:01
- Location: Одесса, Укр -> Belmont, CA
Re: Хранение PDF в SQL Server таблице
Может проще сделать, давать номер телефона вместо SSN всем кроме финансовых организаций.
My God!... I'm Gorgeous!
-
- Уже с Приветом
- Posts: 2127
- Joined: 07 Nov 2000 10:01
- Location: San Diego, CA, USA
Re: Хранение PDF в SQL Server таблице
Есть старое, доброе решение - SAS - https://docs.microsoft.com/en-us/azure/ ... s-overview
не знаю,если оно HIPPA complaint.
не знаю,если оно HIPPA complaint.
Я гражданин Украины, киевлянин и я против хунты!