powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Меню в access XP
19 сообщений из 44, страница 2 из 2
Меню в access XP
    #32282578
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ага, вот и ссылочка. Именно это я и имел в виду.
...
Рейтинг: 0 / 0
Меню в access XP
    #32282726
Фотография Shark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Вот и решил обсудить
Защита на уровне менюшек делается примерно так
1)Заходишь в сервис-параметры запуска и убираешь там вредные галки
2)Защищаешься от открытия с шифтом(из какого-то модуля выдрал, не уверен что работает, но разобраться можно)
Private Sub SetBypassProperty()
ChangeProperty "AllowBypassKey", DB_BOOLEAN, False '!!!!!!!!!!!!!!!!!!!!!!!!!!!
End Sub

Private Function ChangeProperty(strPropName As String, varPropType As Variant, varPropValue As Variant) As Integer
Dim dbs As Object, prp As Variant
Const conPropNotFoundError = 2455

Set dbs = CurrentProject
On Error GoTo Change_Err
dbs.Properties(strPropName) = varPropValue
ChangeProperty = True

Change_Bye:
Exit Function

Change_Err:
If Err = conPropNotFoundError Then ' Property not found.
dbs.Properties.Add strPropName, varPropValue
Resume Next
Else
' Unknown error.
ChangeProperty = False
Resume Change_Bye
End If
End Function


3)Делаешь mde
4) Успокаиваешься:-)
...
Рейтинг: 0 / 0
Меню в access XP
    #32282798
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Shark
Ты не в теме.
Хоть обснимайся ты вредных галок и обзащищайся от шифта - через стандартные меню окно базы данных у тебя покажется.

2 assa
И тут юзер качнет (с известного ему сайта) раскрывалку юзеров и их UID-ов
От взлома mdw не защититься. Это я и имел в виду когда говорил про защиту аксеса "насколько она вообще возможна". Но защитить таблицы от пользователей, работающих под обычными логинами - никогда не повредит. Я бы делал это в первую очередь (а уж потом меню скрывал).

Да, кстати, а кто тебя заставляет давать пользователю mdw-шник с кошерным пользователем? Лежит этот mdw у разработчика, пользователи его никогда в руки не получают, и крякалками взломать не смогут. Что хоть немного да лечит ситуацию.

2 Creator
Это так опускает бедный комп работающий под access
Ничуть не опускает. У тебя формочка висит на таблице? Ну так повесь ее на сохраненный запрос "Select * From TableName With OwnerAccess Option". И получишь ты, что напрямую к таблицам обычный юзер не сможет обратится ни через связанные таблицы, ни через случайно всплывшее окно базы данных, а вот через приложение - сможет. Когда (если) понадобится - уже над этим наворачивай RLP.
...
Рейтинг: 0 / 0
Меню в access XP
    #32282910
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2LP

>>Лежит этот mdw у разработчика, пользователи его никогда в руки не получают, и крякалками взломать не смогут

? в смысле по входу - кодом переподключать .SystemDB .DefaultUser и .DefaultPassword, а также закатать это фсе в mde ? Да так, чтобы owner (и пользователи) mde не имел доступа к таблицам (до переподключения)? Тогда, таблицы - заведомо в другой бд (права на объекты, если помню правильно, лежат в базе, разве что вхождениями в группы регулируются снаружи), а ее owner-а юзер найдет крякалкой, если прознает путь подключения... А можно ли запретить ему прознать путь "в лехкую", например подключившись как овнер mde и запросив поля MSysObjects ?

SELECT DISTINCTROW MSysObjects.Database, MSysObjects.Connect, MSysObjects.ForeignName, MSysObjects.Name
FROM MSysObjects
WHERE (((MSysObjects.Database) Is Not Null)) OR (((MSysObjects.Connect) Is Not Null));

Или вообще другое решение? чей-то не соображу
...
Рейтинг: 0 / 0
Меню в access XP
    #32282938
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Асса
Зачем кодом что-то перелопачивать?
Ниче не понял из твоего поста. С понималкой видно туго по утрам.
Пытаюсь разжевать более подробно

Закатать все в mde - однозначно (если противопоказаний нет)
Разумеется разделить данные и интерфейс. Даже не из соображений безопасности.
Доступ к таблицам закрыть для всех, кроме одного пользователя (владельца).
Владелец всех объектов в базе, в том числе и запросов - именно этот пользователь. Под ним запросы и исполняются, за счет этого доступ к данным и имеют.
Пользователи входят в базу (интерфейсную часть) под своими собственными логинами. Что не мешает работать запросам. Патамушта With OwnerAccess Option. Но напрямую с таблицами работать не выйдет, ни из этой базы (клиентской части) в случае случайно всплывшего окна, ни из любой другой.

Ты сказал (или я так понял), что юзер может взять файл рабочих групп (mdw), взломать его любой крякалкой, и заходить под кем угодно, в том числе под супер-пупер пользователем. И делать что угодно. Так не давать ему тот mdw-шник, в котором нужный пользователь есть (владелец объектов).
Не имея нужного mdw-шника человек может узнать максимум UID владельца объектов. Ну дык и что он с ним будет делать? В окне логина его вбивать?

Это все не панацея, но на аксесовском безрыбье...
...
Рейтинг: 0 / 0
Меню в access XP
    #32283053
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть прога Сергея Гаврилова (кажется), которая ИМЕННО по приложению возвращает овнера и его УИД. Посему, узнав его, злой юзер создает СВОЙ mdw с требуемым овнером и уидом уже СО СВОИМ паролем. В менеджере групп (правда, должен иметь права админа в в2000 на машину, на которой будет это делать) переподключает mdw и делает с таблицами что хочет.\r
\r
Либо (если прав админа на тачку нет) подключается к новому mdw программно (- Насчет .SystemDB я, похоже, соврал. когда-то, казалось, пробовал; - но сейчас перепроверил - не меняет. Или я что-то не так творю.)\r
- после входа в свой новый mdb (пишет в процедуре че нить\r
Set DBE = GetObject("", "DAO.PrivateDBEngine.36") \r
DBE.SystemDB = strSysFilePath \r
DBE.DefaultUser = strUserName \r
DBE.DefaultPassword = strPassword \r
Set db = DBE.OpenDatabase(...) )\r
, затем подключает (видимо кодом) требуемые таблицы - ибо для этого нужнО только совпадение логина и уида пользователя (имеющего права), но не путь к mdw, - и вот и ладушки. А что подключать - может выянить "на дому", забрав копию базки, если сможет :0). Там то он поимеет нужные права для подключки менеджером.\r
\r
К тому же (и главное) я не понял, как юзер не будет видеть SystemDB, если для работы ему нужны ВСЕ права (и на чтение и на запись) на эту дрянь?
...
Рейтинг: 0 / 0
Меню в access XP
    #32283175
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я опять ничего не понимаю.
У юзера есть логин, пароль, UID. Все это хранится в mdw.
У объекта базы данных есть владелец. Его UID хранится в базе (привязанный к объекту).
Если у пользователя отсутствует исходный mdw, в котором лежит вся информация о полноправном пользователе, то он может получить максимум UID (из базы).

Что он с этим UID-ом будет делать? Создаст пользователя с таким UID? Может это пробел в моем образовании, но я не знаю как это сделать.

Можно, наверное, ну да и хрен с ним. Если кто помнит ссылку на такую софтинку - киньте ей в меня. Поиграю на досуге. Нет так нет.

злой юзер создает СВОЙ mdw с требуемым овнером
Как это?

правда, должен иметь права админа в в2000 на машину, на которой будет это делать
На хера ему права админа? Чтоб аксес запустить с нужным mdw? См. параметры коммандной строки.

К тому же (и главное) я не понял, как юзер не будет видеть SystemDB, если для работы ему нужны ВСЕ права (и на чтение и на запись) на эту дрянь
Это о чем вообще?

Какой-то разговор слепого с глухим.
Удаляюсь.
...
Рейтинг: 0 / 0
Меню в access XP
    #32283283
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А.
По пунктам:

1. Создал новый mdw. (New.mdw)
2. Запустил Access с ним (New.mdw). (Ага, вот и ладушки - с параметром командной строки - не все, что можно, вспоминаешь в нужный момент). Естественно перший раз Вы - admin.
2. Создал в New.mdw юзера с логином owner-а требуемой БД и уидом ("кодом" диалога создания нового пользователя Аксес, если лохи не в курсе. Поскольку мдв (и мдб, в каком мы это будем делать) свежий, то ничто не мешает). Кстати сказать, это (ввод точно таких же юзеров с точно такими же кодами) рекомендуемый способ восстановления мдв при случайном или еще каком его крахе (без наличия резервных копий). (Правда при этом надо видимо заранее в сейф запечатать вводимые уиды, иначе ведь в нужный момент недокличешься, без прилад типа прилады СГ). // для нас достаточно ввести именно только овнера.//
3. Задаем стандартному админу (admin) в New.mdw пароль, входим теперь как новый юзер в аксесс (как правильно напомнил ЛП - с параметром стартовой строки New.mdw). И, (о радость) - открываем "взламываемый" файл с правами его ownera.

Что в пунктах не ясно?

___
В.
Убери права на чтение/запись у юзера на файл system.mdw и попробуй под ним (юзером) подключиться к Аксесу имеено с этим system.mdw. Неужто получается? У меня матерится, почем зря. Так вот, я и не понимаю, как >>не давать ему тот mdw-шник<<

Что тут не ясно?
...
Рейтинг: 0 / 0
Меню в access XP
    #32283296
=+=+=+=
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2ЛП
>Если кто помнит ссылку на такую софтинку - киньте ей в меня. Поиграю на досуге. Нет так нет.

От Serge Gavrilov http://accesstools.narod.ru - Users' passwords viewer v2.0 (правда показывает только пароли), но возможно сам Serge Gavrilov, что-нибудь прояснит
...
Рейтинг: 0 / 0
Меню в access XP
    #32283298
Фотография Shark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Ты не в теме
Обидно, блин :-(
5 лет ентим пользуюсь, и на тебе..

Если серьезно, то стандартные меню- это одна из вредных галок.
...
Рейтинг: 0 / 0
Меню в access XP
    #32283344
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
брал там же, только (по моему), MS Access' 95/97/2000 databases password tool v2.2 . В поле Database owner показывает USER .... PID ... (ага, кажется понял - прошу прощения за непонятки с уид - склероз в тяжолой форме - PID!=UID )
...
Рейтинг: 0 / 0
Меню в access XP
    #32283388
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sid, pid, uid, guid, huid
запутаешься с ними

при создании пользователя - воодится код. это совсем не то же самое, что SID (PID), хранящийся в базе.
Прога Сержа Гаврилова показывает именно SID (PID). Может (наверняка) есть возможность своему пользователю в своем mdw запихнуть этот SID (PID), но я такой возможности не знаю.

Разрабатываешь базу с неким mdw. В нем есть пользователь-владелец всех объектов. Перед распространением проги из mdw убиваешь этого пользователя. Если зайти в приложение под любым другим логином из этого коцанного mdw-шника - владелец у всех объектов "неизвестный". Но он есть, и все запросы от его имени преспокойно работают. Этот коцанный mdw-шник и отдаешь на откуп юзерам. Пусть ломают как хотят. Все равно не смогут оттуда вытащить пароль пользователя-владельца, патамушта этого пользователя там нет.
...
Рейтинг: 0 / 0
Меню в access XP
    #32283652
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Боюсь, лох, ты тут не прав. Посмотри справку по МС Акс. "Личный код, он же PID". Я просто уже ДЕЛАЛ то, что предлагал выше - вводил возвращаемый PID в поле код при создании "нового" юзера (правда, использовал .mda). И подключался к "чужой" бд в качестве владельца. Правда делал я это с год назад. Исключительно в исследовательских целях. Т.к. пароль владельца в "старой" system.mda я и так знал "по обязанности".

Не уверен, что пользовался приладой СГ, но вроде бы больше нечем - надо перепроверить - делал я это дома. Все есть под рукой, но ломает напрягаться в тяпницу).

Файл Access хранит не только Login-ы, но и PID-ы юзеров. А так же все их права на объекты (или права групп, но тогда доступ осуществляется только через проверку вхождения в группы - т.е. через проверку системника).

Именно поэтому достаточно одинаково ввести юзеров (с кодами) в системники, чтобы подключатся к одной и той же бд используя то тот - то этот .mdw (если ты имешь права как юзер self, а не как член группы - а это всегда верно для owner-а). (Наверное, именно поэтому PID доступен программно только на запись, но не на чтение. Как Гаврилов это обходит - его ноу-хау). А отсутствие юзера в системной базе не означает, что его PID недоступен из БД. Он просто "спрятан", но не очень хорошо.
...
Рейтинг: 0 / 0
Меню в access XP
    #32283694
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ты не боись того что я неправ. Патамушта я прав :)
Именно приблуда Сержа Гаврилова выдает именно PID (который на самом деле SID), который нифига не код (который PID при создании пользователя).
И если ты этот PID (который SID) вобьешь при создании юзера - нифига хорошего ты не получишь. Т.е. владельцем объектов ты не станешь, доступа к данным не получишь.
Проверил только что.
А если вбивать при создания пользователя PID (который код) - все ок. Только как из PID (который SID) получить код (который PID) - хз.

Файл Access хранит не только Login-ы, но и PID-ы юзеров
Не PID, а SID
А PID скорее всего и не хранится. Он используется для получения SID. Насколько сложно обратное преобразование сделать - да и хрен его знает.
...
Рейтинг: 0 / 0
Меню в access XP
    #32283726
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я патаму и написал, что "боюсь", ибо не помню, какую приладу юзал :). Помню, что похожа была на экзешник (склероз крепчает). А У сГ - .mdb а перепроверять - ленннььь, да такая, чтааа...

И даже вот поюзать приладу СГ и то лень. т.ч. поверю пока что на слово :0). Но не на долго.
...
Рейтинг: 0 / 0
Меню в access XP
    #32283751
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БЕБЕБЕ!
Надоело лениться проверил (создал .mda в администраторе групп Access97) Все тики-тики. Прошло, как я и писал. По Гавриловской проге.

Версия:
в mda вводится в качестве "личного кода" PID, А при вводе в mdw меняется? - отпала, в силу прочтения справки по "преобразованию" mda - .mdw (рекомендуется ввести всех заново руками - тоже мне "преобразование".)

Устал ленится второй раз. Создал .mdw (в администраторе групп Access97) Прошло тип. топ.

(К сведению: проверяю каждый раз
?dbengine.SystemDB
?dbengine.Workspaces(0).UserName
хотя это и так панятна - пароли-то при входе разные - как и устанавливал)

БЕ-БЕ-БЕ!
...
Рейтинг: 0 / 0
Меню в access XP
    #32283884
Creator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из всего выше сказаного предлагаю написать прогу для форамального конвертирования запросов c Access на ANSI SQL. :)
...
Рейтинг: 0 / 0
Меню в access XP
    #32298099
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2LP

нашел причину расхождения мнений (PID/SID):
прога Гаврилова дает таки PID owner-а, но не прорубает кирилицы. (напоролся надысь, "синхронизируя" разные, разошедшиеся по жизни системники) Т.ч. если в PID-е была кирилица, то "увы". (хорошо, что использовал однозначное правило создания юзарей). А SID -это "закодированный" PID (см. инструкцию по вводу пользователей - там, где рекомендуется "записать PID в бумажку", т.к. "Акес хранит PID в зашифрованном виде"). т.ч. процедура "подьема PID из SID" обязана сущ-вать - там где-то зашито взаимно однозначное преобразование.
...
Рейтинг: 0 / 0
Меню в access XP
    #32298125
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 assa
Насчет кириллицы. Я ее не использую. Но прогой Сержа Гаврилова все равно не удалось из mdb-шника достать данные, необходимые для воссоздания удаленного из mdw файла пользователя (владельца mdb)
Или я тупой, или может мы про разные проги говорим.

прога Гаврилова дает таки PID owner-а
Хде, хде она его дает??? То что там видел - ни фига на мой родной PID (который код ) не похоже.

процедура "подьема PID из SID" обязана сущ-вать
ню-ню. Существовать-то она существует, да только сложность обратной процедуры (расшифровки) может на кучу порядков превосходить сложность прямой (шифрования).
Простейший пример - взять два очень больших простых числа и перемножить их. Просто? Конечно просто. А потом по произведению найди изначальные множители. Удачи тебе в этом нелегком труде.
...
Рейтинг: 0 / 0
19 сообщений из 44, страница 2 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Меню в access XP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]