Bосh
11.06.2012, 22:12
Всем доброго времени суток.
Например Вам нужно сделать проверку по IP. Если данный IP есть у вас на сайте в файле, то даем доступ к программе, если нету, то соответственно доступа не даем.
Сразу предупреждаю, код не очень ровный, набросал за 10минут. Но программа работает. Если нужно будет, меняем под себя.
Добавляем на форму idFTP1; id[Ссылки могут видеть только зарегистрированные и активированные пользователи] 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
id[Ссылки могут видеть только зарегистрированные и активированные пользователи]
try
St:=Id[Ссылки могут видеть только зарегистрированные и активированные пользователи]('[Ссылки могут видеть только зарегистрированные и активированные пользователи]');
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:=id[Ссылки могут видеть только зарегистрированные и активированные пользователи]('Ссылка на файл где будут 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:=id[Ссылки могут видеть только зарегистрированные и активированные пользователи]('Ссылка на файл с 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".
Например Вам нужно сделать проверку по IP. Если данный IP есть у вас на сайте в файле, то даем доступ к программе, если нету, то соответственно доступа не даем.
Сразу предупреждаю, код не очень ровный, набросал за 10минут. Но программа работает. Если нужно будет, меняем под себя.
Добавляем на форму idFTP1; id[Ссылки могут видеть только зарегистрированные и активированные пользователи] 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
id[Ссылки могут видеть только зарегистрированные и активированные пользователи]
try
St:=Id[Ссылки могут видеть только зарегистрированные и активированные пользователи]('[Ссылки могут видеть только зарегистрированные и активированные пользователи]');
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:=id[Ссылки могут видеть только зарегистрированные и активированные пользователи]('Ссылка на файл где будут 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:=id[Ссылки могут видеть только зарегистрированные и активированные пользователи]('Ссылка на файл с 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".