Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Ответ
 
Опции темы
Старый 11.06.2012, 22:12   #1
 Разведчик
Аватар для Bосh
 
Bосh никому не известный тип
Регистрация: 22.04.2012
Сообщений: 14
Популярность: 18
Сказал(а) спасибо: 6
Поблагодарили 4 раз(а) в 3 сообщениях
 
По умолчанию Проверка по IP

Всем доброго времени суток.
Например Вам нужно сделать проверку по IP. Если данный IP есть у вас на сайте в файле, то даем доступ к программе, если нету, то соответственно доступа не даем.
Сразу предупреждаю, код не очень ровный, набросал за 10минут. Но программа работает. Если нужно будет, меняем под себя.
Добавляем на форму idFTP1; idHTTP; Edit1; Memo1; Button1; Button2;
Создаем в Файловом Менеджере на ucoz 2 файла, в одном будут забаненные IP, в другом IP, которым можно входить в программу.

*P.S Button2 для примера.
Ставим Edit1.ReadOnly - true; Button2.Visible - false
Код:
var
 St:String;
 Se:String;
 S: TStringList;
 Ban:String;
begin
 idHTTP1.HandleRedirects:=true;
try
 St:=IdHTTP1.Get('http://2ip.ru/');
 Delete(St,1,pos('<big',St)+length('<big'));
 Delete(St,pos('</big',St),length(St));
 Edit1.Text:=St;
 S:=TStringList.Create;
 S.Text:=Edit1.Text;
 S.SaveToFile('IP.txt');
 IdFTP1.Username:= 'Логин FTP';
 IdFTP1.Password:= 'Пароль FTP';
 IdFTP1.Host:= 'Хост FTP';
 IdFTP1.Passive:= True;
 if IdFTP1.Connected then
 IdFTP1.Disconnect
 else
 try
 IdFTP1.Connect(True);
 except
 on E : Exception do
 ShowMessage('Îê: '+E.Message);
 end;
if IdFTP1.Connected then
try
 IdFTP1.Put('IP.txt', 'IP.txt', True);
except
 on E : Exception do
 ShowMessage('Íåà: '+E.Message);
end;
 DeleteFile('IP.txt');
 IdFTP1.Disconnect;
 Se:=idHTTP1.Get('Ссылка на файл где будут IP'); //  Проверяем, есть ли IP в файле
if Pos(Edit1.Text, Se)<>0 then
 Memo1.Text:=('Вы найдены в базе. Можете зайти в программу.')
else
 Memo1.Text:=('Вы не найдены в базе');
 if Pos('Вы прошли проверку', Memo1.Text)<>0  then
 Button2.Visible:=true
else
 Button2.Visible:=false;
 Ban:=idHTTP1.Get('Ссылка на файл с IP где будут баны'); // Проверяем на бан
 if Pos(Edit1.Text, Ban)<>0 then
 Memo1.Text:=('Вы забанены');
 if Memo1.Text='Вы забанены' then
 Button2.Visible:=false;
except
  on e:Exception do
end;
end;
Как видите, в коде есть многое, что можно заменить.
Алгоритм программы такой:
При нажатии на кнопку, на сайте(желательно использовать ucoz), создается файл под названием "IP.txt", туда будет отправляться IP пользователя, нажавшего кнопку(чтобы вам легче было ориентироваться, можете добавить доп. поле, куда пользователь будет вводить свой ник(с этим могу помочь, пишите в тему), далее в созданном файле для разрешенных IP, пишем IP пользователя, которому можно войти в программу, если вам нужно забанить пользователя, пишем в файле для банов IP, которые нужно забанить(действия запрета дописываете сами, в программе показан пример с кнопкой(с этим так же могу помочь, пишите в тему).
Программа построена на примере - "Чата на Ucoz".

Последний раз редактировалось Bосh; 11.06.2012 в 22:19.
  Ответить с цитированием
Старый 11.06.2012, 22:19   #2
Заблокирован
 Сержант
Аватар для Relli
 
Relli скоро будет известенRelli скоро будет известенRelli скоро будет известенRelli скоро будет известенRelli скоро будет известен
Регистрация: 19.01.2011
Сообщений: 168
Популярность: 485
Сказал(а) спасибо: 123
Поблагодарили 67 раз(а) в 48 сообщениях
 
По умолчанию Re: Проверка по IP

Уж слишком муторно....
Код:
var
HTTP:TIdHTTP;
i,b : integer;
a:string;
Version:TStringList;
begin
a := getSerial;
HTTP:=TIdHTTP.Create(nil);
Version:=TStringList.Create;
 try
 Version.text:=HTTP.Get('http://******.ru/****.txt');
 For i := 0 to Version.Count-1 do
 begin
  if a = Version[i] then
   begin
   ShowMessage('Данные верны');
   Form1.Enabled;
   b := 1;
   break;
   end;
   end;
If b <> 1 then
begin
   ShowMessage('Данные не верны');
   Close();
   end;
 finally
 HTTP.Free;
 Version.Free;
 end;
Так гораздо легче,просто немного подредактировать и все.
Просто создаете файл на юкозе,кидаете туда что нужно,и програ сравнивает данные,вбитые в нее и файл на серве,если есть совпадения,то все ок.
А Ip можно получить через компонент IdIPWatch(вкладка Indy Misc) через функцию IdIPWatch1.LocalIP

Последний раз редактировалось Relli; 11.06.2012 в 23:07.
  Ответить с цитированием
Старый 13.06.2012, 20:32   #3
Заблокирован
 Сержант
Аватар для Steam~
 
Steam~ знает себе ценуSteam~ знает себе ценуSteam~ знает себе ценуSteam~ знает себе ценуSteam~ знает себе ценуSteam~ знает себе ценуSteam~ знает себе ценуSteam~ знает себе ценуSteam~ знает себе ценуSteam~ знает себе ценуSteam~ знает себе цену
Регистрация: 09.08.2010
Сообщений: 143
Популярность: 4928
Сказал(а) спасибо: 382
Поблагодарили 254 раз(а) в 175 сообщениях
 
По умолчанию Re: Проверка по IP

Цитата:
Сообщение от BосhПосмотреть сообщение
Всем доброго времени суток.
Например Вам нужно сделать проверку по IP. Если данный IP есть у вас на сайте в файле, то даем доступ к программе, если нету, то соответственно доступа не даем.
Сразу предупреждаю, код не очень ровный, набросал за 10минут. Но программа работает. Если нужно будет, меняем под себя.
Добавляем на форму idFTP1; idHTTP; Edit1; Memo1; Button1; Button2;
Создаем в Файловом Менеджере на ucoz 2 файла, в одном будут забаненные IP, в другом IP, которым можно входить в программу.

*P.S Button2 для примера.
Ставим Edit1.ReadOnly - true; Button2.Visible - false
Код:
var
 St:String;
 Se:String;
 S: TStringList;
 Ban:String;
begin
 idHTTP1.HandleRedirects:=true;
try
 St:=IdHTTP1.Get('http://2ip.ru/');
 Delete(St,1,pos('<big',St)+length('<big'));
 Delete(St,pos('</big',St),length(St));
 Edit1.Text:=St;
 S:=TStringList.Create;
 S.Text:=Edit1.Text;
 S.SaveToFile('IP.txt');
 IdFTP1.Username:= 'Логин FTP';
 IdFTP1.Password:= 'Пароль FTP';
 IdFTP1.Host:= 'Хост FTP';
 IdFTP1.Passive:= True;
 if IdFTP1.Connected then
 IdFTP1.Disconnect
 else
 try
 IdFTP1.Connect(True);
 except
 on E : Exception do
 ShowMessage('Îê: '+E.Message);
 end;
if IdFTP1.Connected then
try
 IdFTP1.Put('IP.txt', 'IP.txt', True);
except
 on E : Exception do
 ShowMessage('Íåà: '+E.Message);
end;
 DeleteFile('IP.txt');
 IdFTP1.Disconnect;
 Se:=idHTTP1.Get('Ссылка на файл где будут IP'); //  Проверяем, есть ли IP в файле
if Pos(Edit1.Text, Se)<>0 then
 Memo1.Text:=('Вы найдены в базе. Можете зайти в программу.')
else
 Memo1.Text:=('Вы не найдены в базе');
 if Pos('Вы прошли проверку', Memo1.Text)<>0  then
 Button2.Visible:=true
else
 Button2.Visible:=false;
 Ban:=idHTTP1.Get('Ссылка на файл с IP где будут баны'); // Проверяем на бан
 if Pos(Edit1.Text, Ban)<>0 then
 Memo1.Text:=('Вы забанены');
 if Memo1.Text='Вы забанены' then
 Button2.Visible:=false;
except
  on e:Exception do
end;
end;
Как видите, в коде есть многое, что можно заменить.
Алгоритм программы такой:
При нажатии на кнопку, на сайте(желательно использовать ucoz), создается файл под названием "IP.txt", туда будет отправляться IP пользователя, нажавшего кнопку(чтобы вам легче было ориентироваться, можете добавить доп. поле, куда пользователь будет вводить свой ник(с этим могу помочь, пишите в тему), далее в созданном файле для разрешенных IP, пишем IP пользователя, которому можно войти в программу, если вам нужно забанить пользователя, пишем в файле для банов IP, которые нужно забанить(действия запрета дописываете сами, в программе показан пример с кнопкой(с этим так же могу помочь, пишите в тему).
Программа построена на примере - "Чата на Ucoz".

можно легко поймать сниффером логин и пароль , зайти на этот фтп и удалить свой айпи
  Ответить с цитированием
Старый 13.06.2012, 20:44   #4
Заблокирован
 Сержант
Аватар для Relli
 
Relli скоро будет известенRelli скоро будет известенRelli скоро будет известенRelli скоро будет известенRelli скоро будет известен
Регистрация: 19.01.2011
Сообщений: 168
Популярность: 485
Сказал(а) спасибо: 123
Поблагодарили 67 раз(а) в 48 сообщениях
 
По умолчанию Re: Проверка по IP

Steam~, так тут же фтп вообще не нид)
  Ответить с цитированием
Старый 13.06.2012, 21:22   #5
Заблокирован
 Сержант
Аватар для Steam~
 
Steam~ знает себе ценуSteam~ знает себе ценуSteam~ знает себе ценуSteam~ знает себе ценуSteam~ знает себе ценуSteam~ знает себе ценуSteam~ знает себе ценуSteam~ знает себе ценуSteam~ знает себе ценуSteam~ знает себе ценуSteam~ знает себе цену
Регистрация: 09.08.2010
Сообщений: 143
Популярность: 4928
Сказал(а) спасибо: 382
Поблагодарили 254 раз(а) в 175 сообщениях
 
По умолчанию Re: Проверка по IP

Цитата:
Сообщение от RamsteinsПосмотреть сообщение
вообще не нид)

не понял
  Ответить с цитированием
Старый 13.06.2012, 23:42   #6
Заблокирован
 Сержант
Аватар для Relli
 
Relli скоро будет известенRelli скоро будет известенRelli скоро будет известенRelli скоро будет известенRelli скоро будет известен
Регистрация: 19.01.2011
Сообщений: 168
Популярность: 485
Сказал(а) спасибо: 123
Поблагодарили 67 раз(а) в 48 сообщениях
 
По умолчанию Re: Проверка по IP

Steam~, получить содержимое текстового файла можно и без фтп...С ним только кода больше и действий
  Ответить с цитированием
Старый 14.06.2012, 11:03   #7
Заблокирован
 Сержант
Аватар для Steam~
 
Steam~ знает себе ценуSteam~ знает себе ценуSteam~ знает себе ценуSteam~ знает себе ценуSteam~ знает себе ценуSteam~ знает себе ценуSteam~ знает себе ценуSteam~ знает себе ценуSteam~ знает себе ценуSteam~ знает себе ценуSteam~ знает себе цену
Регистрация: 09.08.2010
Сообщений: 143
Популярность: 4928
Сказал(а) спасибо: 382
Поблагодарили 254 раз(а) в 175 сообщениях
 
По умолчанию Re: Проверка по IP

Цитата:
Сообщение от RamsteinsПосмотреть сообщение
Steam~, получить содержимое текстового файла можно и без фтп...С ним только кода больше и действий

я говорю про способ автора темы
  Ответить с цитированием
Старый 02.07.2012, 23:02   #8
-= Мастер Света =-
 Рыцарь-капитан
Аватар для Ginrey
 
Ginrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака Норриса
Регистрация: 14.06.2012
Сообщений: 511
Популярность: 7566
Сказал(а) спасибо: 4
Поблагодарили 181 раз(а) в 88 сообщениях
 
По умолчанию Re: Проверка по IP

чаще всего совершенная ошибка if true то проходишь регистрацию else не проходишь. на этом моменте отловить выполняемое действие и смотреть что требуется для него проще простого. лучше писать просто через if без else / или же с else но не использовать прямые значения
  Ответить с цитированием
Ответ


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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка alоvidin Общение и обсуждение, архив Point Blank 1 25.11.2011 23:08
[Программа] Проверка акк. Semur1 Общение и обсуждение, архив Lineage 2 3 04.01.2011 16:09
[Информация] ПРОВЕРКА!!! lkotikl Общение и обсуждение 18 28.10.2010 11:24

Заявление об ответственности / Список мошенников

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

Пишите нам: forum@zhyk.ru
Copyright © 2025 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net