Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 26.03.2009, 14:15
joomler joomler вне форума
Новичок
 
Регистрация: 11.10.2008
Сообщения: 88
Репутация: 10
По умолчанию Как сделать, чтобы программа базы данных работала только на одном компьютере?

Всем привет, подскажите, как сделать, чтобы программа базы данных работала только на одном компьютере?

Не имею представление как это сделать
Ответить с цитированием
  #2  
Старый 26.03.2009, 14:30
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Цитата:
Сообщение от joomler
Всем привет, подскажите, как сделать, чтобы программа базы данных работала только на одном компьютере?

Не имею представление как это сделать
Несколько подробнее, т.к. непонятно что вы хотите.
Сделать сетевую БД на одном компе?
Защититить БД от копирования?
Или что-то другое?
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #3  
Старый 26.03.2009, 14:39
joomler joomler вне форума
Новичок
 
Регистрация: 11.10.2008
Сообщения: 88
Репутация: 10
По умолчанию

да я хочу чтобы программка работала только на моем компьютере, даже если ее у меня кто скопирует то он не должна работать у другиих , а вот кикие способы Вы посоветуете и как по проще это организовать?
Ответить с цитированием
  #4  
Старый 26.03.2009, 17:39
BloodFooria BloodFooria вне форума
Новичок
 
Регистрация: 30.10.2008
Адрес: Улан-Удэ
Сообщения: 81
Репутация: 10
По умолчанию

В Интернете видел исходник для выяснения IP-адреса компьютера... Можно реализовать через это.

Узнаев свой IP-адрес компьютера, включаете этот сурс в код программы. После идет сравнение с IP-адресом, если несовпадает, то выход...

Вообщем узнать IP можно так WinSock в Uses
Код:
const WSVer = $101;
var IP : String;
    WSAData : TWSAData;
    P : PHostEnt;
    Buf : array [0..127] of Char;
IP:= '';
  if WSAStartup(WSVer, WSAData) = 0
    then
      begin
      if GetHostName(@Buf, 128) = 0
        then
          begin
          P:= GetHostByName(@Buf);
          if P <> nil
            then IP:= iNet_ntoa(PInAddr(p^.h_addr_list^)^);
          end;
      WSACleanup;
      end;

После сравниваете уже с известным вам IP.

Вообщем должно работать Я с помощью IP делал привязанность программы к одному компьютеру (делал что-то вроде "регистрационного ключа").
Ответить с цитированием
  #5  
Старый 26.03.2009, 18:51
joomler joomler вне форума
Новичок
 
Регистрация: 11.10.2008
Сообщения: 88
Репутация: 10
По умолчанию

а куда вписывать этот код? в формкреат главной формы?
Ответить с цитированием
  #6  
Старый 26.03.2009, 19:49
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

ip- переделывается в 5 минут, и потом если у чела нет сетевухи или она выключена, тогда где вы его возьмете? Если хотите защитить БД то зашифруйте содержимое, если саму оболочку, то купите флэшку поставьте на нее пароль и свою прогу и всех делов. Если даже украдут флэшку без пароля ничего с нее не достанут. Флэшка сейчас копейки стоит.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #7  
Старый 27.03.2009, 04:13
BloodFooria BloodFooria вне форума
Новичок
 
Регистрация: 30.10.2008
Адрес: Улан-Удэ
Сообщения: 81
Репутация: 10
По умолчанию

Я говорю про IP компьютера... А не модема!
Я получил таким образом свой IP и он не меняется уже неделю...

А про IP модема: меняется только динамический IP, а это уже редкость. При выделенном подключении ничего такого не происходит.
Ответить с цитированием
  #8  
Старый 27.03.2009, 04:53
Аватар для Karsh
Karsh Karsh вне форума
Активный
 
Регистрация: 22.09.2007
Адрес: SPb
Сообщения: 228
Версия Delphi: 7, 2009, XE2
Репутация: 70
По умолчанию

Что вы имеете ввиду под "IP компьютера"?
__________________
Начинающий программист уверен, что в 1 килобайте 1000 байт.
Законченный программист уверен, что в 1 километре 1024 метра.
Ответить с цитированием
  #9  
Старый 27.03.2009, 06:25
BloodFooria BloodFooria вне форума
Новичок
 
Регистрация: 30.10.2008
Адрес: Улан-Удэ
Сообщения: 81
Репутация: 10
По умолчанию

Я не помню как правильно называется.. Но это что-то вроде уникального индетификатора, который дается при установке операционной системы.

Вы попробуйте этот код. Вам выдаст не IP соединения, выдаваемого провайдером, а нечто другое, но именуемое IP.

Ну а программу можно просто запоролить. Создать диалог "Введите пароль", если введенный пароль не совпадает с запрограммированным, то о запуске речи быть и не может Способов вообще много, ИМХО, дело в вашей фантазии
Ответить с цитированием
  #10  
Старый 27.03.2009, 09:29
joomler joomler вне форума
Новичок
 
Регистрация: 11.10.2008
Сообщения: 88
Репутация: 10
По умолчанию

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

Может все таки есть как подругому сделать?
мне главное саму программку защитить а содержимое уж второстепенно
Ответить с цитированием
  #11  
Старый 27.03.2009, 10:09
Аватар для Karsh
Karsh Karsh вне форума
Активный
 
Регистрация: 22.09.2007
Адрес: SPb
Сообщения: 228
Версия Delphi: 7, 2009, XE2
Репутация: 70
По умолчанию

Вот так можно узнать имя компьютера, если это поможет
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  ComputerName: array[0..255] of Char;
  nSize: DWORD;
begin
  nSize:= 256;
  GetComputerName(ComputerName, nSize);
  ShowMessage(ComputerName);
end;
__________________
Начинающий программист уверен, что в 1 килобайте 1000 байт.
Законченный программист уверен, что в 1 километре 1024 метра.
Ответить с цитированием
  #12  
Старый 27.03.2009, 10:35
joomler joomler вне форума
Новичок
 
Регистрация: 11.10.2008
Сообщения: 88
Репутация: 10
По умолчанию

спасибо за инфо)
Ответить с цитированием
  #13  
Старый 27.03.2009, 11:34
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Цитата:
Сообщение от joomler
спасибо за инфо)
Идентификатор компьютера - это конечно интересно, но если вы нежелаете использовать шифрование этот код прямо в программе и будет в открытом виде висеть и заменить его на другой - дело несложное - опять получается дырка.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #14  
Старый 27.03.2009, 11:48
BloodFooria BloodFooria вне форума
Новичок
 
Регистрация: 30.10.2008
Адрес: Улан-Удэ
Сообщения: 81
Репутация: 10
По умолчанию

Да понавесить всякой защиты...

Включаем авторизацию, запрет по IP...

Вот такая идея:
  • Задаем логин
  • Логин шифруем по Цезарю (и вводить нужно будет его зашифрованным)
  • Делаем пароль (любой)
  • Привязываем к IP
  • При запуске: неудачный вход (три раза) и блокируем сессию, запись делаем в ini-файл, а сам ini-файл пускай лежит в папке ApplicationsData
  • Если при запуске в ini-файле написано, что предыдущея сессия заблочена, то вообще программу закрываем.

Теперь объясню.

Почему по Цезарю? Потому что шифровка простая, но зашифрованный логин будет трудно подобрать.
Ну с привязкой к IP и паролем думаю понятно все...
Блокировка сессии? Чтобы если кто-то запустил с вашего компьютера эту программу, но не смог открыть, то вы хотя бы будете знать, что кто-то пытался это сделать! А там уже с чудесами дедукции и вычислите
Ответить с цитированием
  #15  
Старый 27.03.2009, 12:40
joomler joomler вне форума
Новичок
 
Регистрация: 11.10.2008
Сообщения: 88
Репутация: 10
По умолчанию

Да вот типа этого и надо, только вот я начинающий и как это организовать я не знаю
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 19:03.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter