Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.50/40: Рейтинг темы: голосов - 40, средняя оценка - 4.50
 Аватар для AndreA SN
1021 / 125 / 2
Регистрация: 26.08.2011
Сообщений: 1,219
Записей в блоге: 2

В каком формате удобнее хранить данные?

30.01.2018, 09:34. Показов 9128. Ответов 127
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть необходимость хранить данные.
Нет возможности организовывать базу данных.

Какие есть альтернативы. Скорость обработки имеет значение
Количество записей - в год добавляется до 10-12 тысяч.
тип хранимых данных: в одной записи 15 полей, текст

В чем лучше хранить? txt? excel? Css?
1
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.01.2018, 09:34
Ответы с готовыми решениями:

В каком формате хранить число, чтобы нули спереди не отбрасывались
Есть строка "000001". Нужно вывести ее в файл в таком же форамте , однако при выводе все незначащие нули отбрасиваются. Как вывести ее в...

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

Как и в каком формате хранить координаты карты
В общем столкнулся с этой проблемой только что, помогите пожалуйста в каком формате (тип данных для C# и желательно на SQL Server)...

127
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
12.02.2018, 18:11
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Usaga Посмотреть сообщение
ТС-у достаточно SQLite
вы не уловили мой посыл -- хранить можете хоть в файлах, хоть в базе, хоть на гаваях. Главное за сервисом. Без четкого контракта с прямым доступом частота востановления бекапов может возрасти.
0
Эксперт .NET
 Аватар для Usaga
14371 / 9478 / 1360
Регистрация: 21.01.2016
Сообщений: 35,752
12.02.2018, 18:13
Wolfdp, блин, вы прямо из пальца какие-то сложности высасываете) Человеку нужна простая софтинка в виде отдельного приложения, не сервиса. Человек спросил как ему локально лучше данные хранить. Откуда тут админские права, сервисы и малые объёмы дисков нарисовались?)
0
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
12.02.2018, 18:43
Цитата Сообщение от Usaga Посмотреть сообщение
админские права, сервисы
защита от обезян

Цитата Сообщение от Usaga Посмотреть сообщение
малые объёмы дисков
предупреждение об ограничениях установки

Не, если ТС хочет, может смело юзать SQLite, и надеятся что его никто трогать не будет. И время от вермени бэкапить для надежности. Программа будет проще ровно на десяток-два строчек (это если следовать IoC и прочим прелестям). Ну и не придется один раз заморачиватся с учетками (кстати, вполне возможно что там стоит специфический софт под одного юзера, и такой финт ушами не прокатит).
1
Эксперт .NET
 Аватар для Usaga
14371 / 9478 / 1360
Регистрация: 21.01.2016
Сообщений: 35,752
12.02.2018, 18:50
Wolfdp, о каких "утечках" речь? И кто там что трогать будет, если пользователи - обезьяны?
0
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
12.02.2018, 19:02
Usaga,
Цитата Сообщение от AndreA SN Посмотреть сообщение
И еще важно шифрование данных. Я не собираюсь прятать данные от себя и ядреных прогеров. Мне нужно сделать данные непросекаемыми от сотрудников, которые с ними работают, чтобы препятствовать:
1. изменению электронной подписи,
2. ручному добавлению, уничтожению, изменению данных в записях
3. другим неподконтрольным программе действиям со стороны пользователей.
предлагаю дождатся ТС, по сути ему решать.
0
Эксперт .NET
 Аватар для Usaga
14371 / 9478 / 1360
Регистрация: 21.01.2016
Сообщений: 35,752
12.02.2018, 19:10
Wolfdp, насколько я понял, ТС уже всё решил.
0
 Аватар для AndreA SN
1021 / 125 / 2
Регистрация: 26.08.2011
Сообщений: 1,219
Записей в блоге: 2
12.02.2018, 19:23  [ТС]
Атас! Мордобой высшего пошибу и без меня!!!
И главное - вы тут кучу всего наговорили - а мне теперь снова по справкам лазить - чтобы хотя бы понять смысл.

Система Win7 64х Офис 2016. Не спрашивайте меня почему так - что было то и поставил. Перед этим снес всё, что там было. Так что кроме дров, системы и офиса ничего больше на компе не будет. Места достаточно, чтобы всё развернуть на диске С:

Прога тестит машину - и если это другая машина - то тупо не запустится. Еще и ругательства ворюгам выдаст всякие.
Если тест машины пройден - прога выясняет - кто а ней работает. Двадцать пять флэш-ключей прога не пропустит. Попросит убрать все, кроме того, который принадлежит оператору. Если оператор - раздолбай и регулярно дарит свой ключ левому челу - то автоматически отвечает за его косяки. Это они у меня усвоили. За ключами уже следят. Вообщем если здесь нет непоняток - только тогда прога позволит работать с данными: вводить, читать, формировать документы.

Это всё - для того, чтобы не таскали прогу и работу "на дом". Дома надо отдыхать. Надоело видеть опухшие лица с утра от недосыпа. Все сверхурочные хочу исключить. И на лево. На лево - это украле. Там людей беречь надо.

Теперь база. Я понимаю, что базу можно открыть другим путем.
У меня два пути
- сделать непросекаемой структуру базы
- запаролить доступ к ней.
Чувствую - буду использовать оба.

Как ее запаролить, чтобы это было сделать не так просто? Речь идет об SQLite.

Про непросекаемую структуру - я уже придумал кой-чего на этот счет. Обмозгую вопрос - тогда поговорим об том моменте.
0
Эксперт .NET
 Аватар для Usaga
14371 / 9478 / 1360
Регистрация: 21.01.2016
Сообщений: 35,752
12.02.2018, 19:30
Цитата Сообщение от AndreA SN Посмотреть сообщение
- запаролить доступ к ней.
Это самый эффективный способ. Причём пароль не должен быть доступен пользователю. Его можно хранить в аппаратном ключе - флешке. Этой меры должно быть за глаза для вашей аудитории.
0
 Аватар для AndreA SN
1021 / 125 / 2
Регистрация: 26.08.2011
Сообщений: 1,219
Записей в блоге: 2
12.02.2018, 19:46  [ТС]
а если его зашить в прогу?

Добавлено через 2 минуты
разработка всего комплекса ведется у меня на домашней машинке. Поэтому у меня пароль сохранится по любому. И все сборки я делаю тоже дома. На работу приносится только готовый exe и база данных. и простые флэшки. Если слетит флэшключ - я просто пересоберу прогу с новым ключом.
0
Эксперт .NET
 Аватар для Usaga
14371 / 9478 / 1360
Регистрация: 21.01.2016
Сообщений: 35,752
12.02.2018, 19:46
AndreA SN, тогда получится говно, а не защита. От лаборанток-то оно защитит, конечно, но... мысль вы поняли, я думаю...
1
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
12.02.2018, 19:51
насчет паролей -- вещь прикольная, но:

программа должна знать как работать с базой (подразумеваю SQLite и СУБД одновременно, т.к. это качается их обоих). Т.к. пользователь не должен знать пароль к ней, придется вшивать в апликейшин напрямую. Чревато следующим:
- вы можете не знать, куда приложение ломится в данный момент (допустим неактуально);
- жестко завязываетесь на расположение (в вашем случае скорее всего не актуально, можно например искать в той же папке что и программа);
- не спасает от увода всей базы на флешке для попытки "вскрыть" дома. Учитывая что пароль лежит где-то в исполняемом файле (а его пользователь ВСЕГДА сможет скопировать), перебором паролей никто не будет заниматся.

Цитата Сообщение от Usaga Посмотреть сообщение
Его можно хранить в аппаратном ключе - флешке.
И это по вашему проще, нежеле поднять сервис под админом?! И главное -- флешку никто не вынесет?

p.s. на всякий -- если кто-то узнает пароль админа, он автоматом получает доступ ко всему.

Цитата Сообщение от AndreA SN Посмотреть сообщение
Прога тестит машину - и если это другая машина - то тупо не запустится.
Что мешает вашим ворюгам спросить знакомого "тыжпрограмиста", декомпильнуть ваше творение и убрать валидацию?

p.p.s. Можно не создавать учетки на каждого пользователя. достаточно админская плюс юзер. А уже сама прога запрашивает логин/пароль.

Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от Usaga Посмотреть сообщение
тогда получится говно, а не защита.
что возращает нас к учеткам и сервисам/сайтам/wcf (нужное подчеркнуть) :D

0
Эксперт .NET
 Аватар для Usaga
14371 / 9478 / 1360
Регистрация: 21.01.2016
Сообщений: 35,752
12.02.2018, 19:51
Цитата Сообщение от Wolfdp Посмотреть сообщение
И это по вашему проще, нежеле поднять сервис под админом?! И главное -- флешку никто не вынесет?
p.s. на всякий -- если кто-то узнает пароль админа, он автоматом получает доступ ко всему.
Всему - это данные только одного пользователя - того, которому дали флешку. Других у него физически нет.

Цитата Сообщение от Wolfdp Посмотреть сообщение
Что мешает вашим ворюгам спросить знакомого "тыжпрограмиста", декомпильнуть ваше творение и убрать валидацию?
А сервис разобрать, что помешает этому тыжпрограммисту? Насколько вероятен ваш сценарий?
0
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
12.02.2018, 20:15
Цитата Сообщение от Usaga Посмотреть сообщение
А сервис разобрать, что помешает этому тыжпрограммисту? Насколько вероятен ваш сценарий?
>_< я незнаю, мне казалось моя структура вполне очевидна... как он доберется до сервиса, который крутится под админом? Не, можно конечно и сделать публичными исполняемые файлы, но зачем? По аналогии с бинарниками IIS.

Цитата Сообщение от Usaga Посмотреть сообщение
Всему - это данные только одного пользователя
я не догоняю. Ты предлагаешь паролить данные каждого пользователя отдельным ключем? И в случаи потери, попрощатся с ними? И как шарить данные только между двумя (и более) пользователями?

p.s. к чему вообще все эти велосипеды?

# делаем сервис. Где будут хранится данные -- не важно.
# на ПК создаем админскую учетку. Выставляем для файлов сервиса и базы доступ только для админа.
# клиентское приложение общается с сервисом. Для каждого запроса передаем также токен юзера. (можно просто пароль/логин, можно флешку).
# для "обезян" делаем отдельную учетку, с привилегиями обычного юзера.

Из клиентского приложения внутриности базы не видно. Никак. Исполняемые файлы сервиса тоже не скачать. Если даже декомпильнуть клиентское приложение, то увидим тупо контракт работы. Из дому тоже не поработаешь, т.к. сервис из вне доступен не будет (хотя по необходимости, можно настроить). Вся защита будет лежать на грамотности контракта сервиса и незнании пароля от админской учетки.
3
 Аватар для AndreA SN
1021 / 125 / 2
Регистрация: 26.08.2011
Сообщений: 1,219
Записей в блоге: 2
12.02.2018, 20:36  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Его можно хранить в аппаратном ключе - флешке.
каким образом это можно сделать, если в качестве аппаратного ключа - простая флэшка используется?

Добавлено через 4 минуты
Wolfdp, я понял суть идеи. Эта идея мне нравится. Но от всех прогеров не защитишься. Основная защита - от обезьяноподобных действий в том числе и по сокрытию своего грешка.
В другой своей системке я предусмотрел создание лог-файла, который все действия фиксирует и по окончании работы сохраняется. Он в конторе является юридически значимым документом при разборке конфликтных ситуаций. Помогло от рукоблудия и "оно само".

Добавлено через 3 минуты
Кстати на счет пароля. Его же по любому проге нужно будет как-то сообщить - то ли зашить в нее на этапе сборки, то л еще как? Иначе доступа в базу не будет. Я же правильно понял?
Никогда ничего подобного не делал.
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
12.02.2018, 21:19
Цитата Сообщение от AndreA SN Посмотреть сообщение
Но от всех прогеров не защитишься.
Если уж так критично, выносите сервис на отдельный хостинг в сеть (и БД туда же, если нужно). Тогда взломать практически не реально (не получив физический доступ к сервису по FTP, к примеру).
1
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
12.02.2018, 22:29
а мьіши все так же продолжали грьізть кактус...

на последок (на сегодня), почему нужно влепить админскую учетку (хотя решать вам), и по хорошему каждому юзеру свою отдельную с паролем:
- юзер теряет власть над папкой windows и program files
- для вашей же программы можно поставить в общих разрешениях "только чтение и выполнение". Спасет от внезапной диверсии (нет, файл БД то остается открьітьій). Плюс если кто-то действительно решит ломанут вас, то разобрав exe на запчасти, и вьіискав єтап ввода ключа, ему ничто не помешает докинуть логирование в скрьітую папку и на вашем общем ПК подменить исполняемьій файл. И узнаете о подмене вьі, скорее всего, когда будет поздно.
- у каждого юзера будут свои хотелки по настройка. Рабочий стол с котятами? Окей. Панель управления справа? Не вопрос. Английский интерфейс? Да пожалуйста, хоть на всю систему. Тот же браузер будет подгонятся под каждого пользователя, со своими закладками и расширениями.
- один юзер не сможет сломать работу не только сервиса, но другого юзера.
- если юзер запустит вирус/троян, который шифрует файльі -- скорее всего он убьется об права доступа и не грохнет вам базу или хотя бьі бєкапьі (при условии доступности только админу).
- вьітащить данньіе по сути можно только вьітащив жесткий. Ну или запустив linux life.

Зашивание пароля в сборку -- дыра. Есть 100500 инструментов для декомпилирования нетовских сборок. В идеале как-то так:
- на этапе запуска программы, указьіваем ей пароль к базе. В командной строке, либо диалоговом окне. Можно пойти интересней: пароль в zip файле, файл -- на флешке. Причем zip тоже шифрован, но простьім ключем, а вот уже в нутри -- 100500 символов.
- далее программа устанавливает соединение, и запрашивает уже ключ для "входа" пользователя.

Т.е. ваш пароль от базьі живет только внутри памяти программьі (пока она работает). Плюс такого подхода: в принципе можно обойтись без сервиса. Из минусов -- программу может запустить только админ (т.е. если в три часа ночи срочно понадобится доступ, то за вами приедут ).
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
12.02.2018, 22:32
Может стоит спросить ТС сколько юзверей будет работать с прогой ?

Добавлено через 1 минуту
Я это к тому, что если все работают в одной комнатушке, и посторонние будут явно привлекать внимание, то зачем привязываться к учеткам ?
0
 Аватар для AndreA SN
1021 / 125 / 2
Регистрация: 26.08.2011
Сообщений: 1,219
Записей в блоге: 2
12.02.2018, 23:01  [ТС]
одна комнатушечка. и все в ней. Их же хрен от чайника отгонишь! Уже все бумаги кофем профукались!!!

Добавлено через 28 секунд
Но я не в той комнатушечке. Я вообще дома сижу в основном
0
Эксперт .NET
 Аватар для Usaga
14371 / 9478 / 1360
Регистрация: 21.01.2016
Сообщений: 35,752
13.02.2018, 05:44
AndreA SN, идея с сервисом выглядит заметно надёжнее (хотя бы случайно данные не снесут), но при этом переусложнённой. И переусложнение только из-за боязни кражи данных. На самом деле, я бы выбирал между двумя вариантами: простое приложение с базой у себя в папочке (то, что изначально и обсуждалось) и полноценное клиент-серверное приложение (можно даже в виде веб-приложения, чтобы вообще ничего ставить не надо было).

Второй вариант уже "внатуре" надёжный: данные лежат строго на сервере, никто их не тронет, бекапить можно по желанию и не бояться неадекватных действий "Обезьянок". Обновлять, опять же, можно оперативно и из дому (если надо) работать.

Это ещё сложнее, чем сервис, но тут сложность оправдана: данные под надёжной защитой админа.

А сервис выглядит полумерой. Т.е. для защиты от обезьян он избыточен, а от понастоящему заинтересованных он никак не спасёт.

Добавлено через 15 минут
А вообще, может Google Docs использовать? Оно уже написано и работает, данные защищены, всё бекапится прозрачно, бесплатно. Одни, блин, плюсы)
1
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
13.02.2018, 09:08
Цитата Сообщение от Usaga Посмотреть сообщение
А вообще, может Google Docs использовать?
А в принципе идея неплохая. Даже документашка вроде годная.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.02.2018, 09:08

В каком месте STM удобнее хранить серийный номер устройства?
Встала проблема - необходимо в stm32f4 писать серийный номер. Проблема в том, что память программ загрузчиком может быть полностью стёрта...

В каком формате лучше хранить локальную БД
Всем доброго времени суток. Не знаю в какой раздел поместить - по этому извините,спрошу здесь. Есть задача - хранить некоторое...

В каком формате лучше хранить образ ОС?
В .dmg или в .iso лучше? Если сохраняю

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

В каком формате хранить картинку в таблице MS SQL Server с прозачным фоном
Чтобы на ленточной форме Access, основанной на этой таблице, картинки отображались также с прозрачным фоном? Какой должен быть тип...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
120
Ответ Создать тему
Новые блоги и статьи
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла: Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет Новости компьютерного мира и их обсуждение (4) Салют, шампанское, овации! :drink:
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru