 |
11.06.2012, 22:12
|
#1
|
|
|
|
Разведчик
|
 Регистрация: 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
|
|
|
|
Сержант
|
 Регистрация: 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
|
|
|
|
Сержант
|
 Регистрация: 09.08.2010
 Сообщений: 143
 Популярность: 4928
 Сказал(а) спасибо: 382
Поблагодарили 254 раз(а) в 175 сообщениях
|
Re: Проверка по 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".
|
|
 |
|
 |
|
можно легко поймать сниффером логин и пароль , зайти на этот фтп и удалить свой айпи
|
|
|
13.06.2012, 20:44
|
#4
|
|
|
|
Сержант
|
 Регистрация: 19.01.2011
 Сообщений: 168
 Популярность: 485
 Сказал(а) спасибо: 123
Поблагодарили 67 раз(а) в 48 сообщениях
|
Re: Проверка по IP
Steam~, так тут же фтп вообще не нид)
|
|
|
13.06.2012, 21:22
|
#5
|
|
|
|
Сержант
|
 Регистрация: 09.08.2010
 Сообщений: 143
 Популярность: 4928
 Сказал(а) спасибо: 382
Поблагодарили 254 раз(а) в 175 сообщениях
|
Re: Проверка по IP
|
|
|
13.06.2012, 23:42
|
#6
|
|
|
|
Сержант
|
 Регистрация: 19.01.2011
 Сообщений: 168
 Популярность: 485
 Сказал(а) спасибо: 123
Поблагодарили 67 раз(а) в 48 сообщениях
|
Re: Проверка по IP
Steam~, получить содержимое текстового файла можно и без фтп...С ним только кода больше и действий
|
|
|
02.07.2012, 23:02
|
#8
|
|
|
|
Рыцарь-капитан
|
 Регистрация: 14.06.2012
 Сообщений: 511
 Популярность: 7566
 Сказал(а) спасибо: 4
Поблагодарили 181 раз(а) в 88 сообщениях
|
Re: Проверка по IP
чаще всего совершенная ошибка if true то проходишь регистрацию else не проходишь. на этом моменте отловить выполняемое действие и смотреть что требуется для него проще простого. лучше писать просто через if без else / или же с else но не использовать прямые значения
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
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:24.
|
 |