Merhabalar delphi'de yaptıgımız connectoru açtıgımızda mysql'a veritabanı oluşturuyoruz "Mac" adresini ve ip adresini şimdi buraya kadar sorun yok fakat oluşturdugumuz mac adresinin nasıl connector'u açmasını engelleyebiliriz?

ve'ya oyundan dc verdirtebiliriz 5 sn de bir kontrol edip on@login'de ama aklımda ki fikir şu ;

# Connector açılınca "Mac" ile "ip" adresi veritabanina göndericek,
# Oyuna girdiginde ip adresinden "Mac" adresini tag'a vericek,
# Sonraki işlemde kişiyi banlamak istiyorsa o mac adresini banlı diye göstericek,
# Bidahaki Oyuna girişte if ile sorgulatıp banlıysa oyundan atıcak..

Mac Fonksiyonumuz ;

function GetMACAdress: string;
var
NCB: PNCB;
Adapter: PAdapterStatus;
 
URetCode: PChar;
RetCode: char;
I: integer;
Lenum: PlanaEnum;
_SystemID: string;
TMPSTR: string;
begin
Result    := '';
_SystemID := '';
Getmem(NCB, SizeOf(TNCB));
Fillchar(NCB^, SizeOf(TNCB), 0);
 
Getmem(Lenum, SizeOf(TLanaEnum));
Fillchar(Lenum^, SizeOf(TLanaEnum), 0);
 
Getmem(Adapter, SizeOf(TAdapterStatus));
Fillchar(Adapter^, SizeOf(TAdapterStatus), 0);
 
Lenum.Length    := chr(0);
NCB.ncb_command := chr(NCBENUM);
NCB.ncb_buffer  := Pointer(Lenum);
NCB.ncb_length  := SizeOf(Lenum);
RetCode         := Netbios(NCB);
 
i := 0;
repeat
Fillchar(NCB^, SizeOf(TNCB), 0);
Ncb.ncb_command  := chr(NCBRESET);
Ncb.ncb_lana_num := lenum.lana[I];
RetCode          := Netbios(Ncb);
 
Fillchar(NCB^, SizeOf(TNCB), 0);
Ncb.ncb_command  := chr(NCBASTAT);
Ncb.ncb_lana_num := lenum.lana[I];
// Must be 16
Ncb.ncb_callname := '*               ';
 
Ncb.ncb_buffer := Pointer(Adapter);
 
Ncb.ncb_length := SizeOf(TAdapterStatus);
RetCode        := Netbios(Ncb);
//---- calc _systemId from mac-address[2-5] XOR mac-address[1]...
if (RetCode = chr(0)) or (RetCode = chr(6)) then
begin
_SystemId := IntToHex(Ord(Adapter.adapter_address[0]), 2) + '-' +
IntToHex(Ord(Adapter.adapter_address[1]), 2) + '-' +
IntToHex(Ord(Adapter.adapter_address[2]), 2) + '-' +
IntToHex(Ord(Adapter.adapter_address[3]), 2) + '-' +
IntToHex(Ord(Adapter.adapter_address[4]), 2) + '-' +
IntToHex(Ord(Adapter.adapter_address[5]), 2);
end;
Inc(i);
until (I >= Ord(Lenum.Length)) or (_SystemID <> '00-00-00-00-00-00');
FreeMem(NCB);
FreeMem(Adapter);
FreeMem(Lenum);
GetMacAdress := _SystemID;
end;

Bu Mac Fonksiyonunu Nasıl Kullanabiliriz + Mysql Veritabanına Nasıl Bilgi Göndeririz?
Şimdiden Teşekkürler..
Neophyte
-1.7
1 adet idhttp 1 adet label 1 adet memo oluştur. Formcreate kısmına vara i:integer; ekle begine
Memo1.lines.add(idhttp1.get('https://siteadresi ya da ip/banlimacler.txt'));
label1.caption:=getmacadress;
İf label1.caption = memo1.lines then begin
Showmessage('pcniz banlanmistir');
Application.terminate;
End
Else
İdhttp1.get('https://ip/macal.php?mac='+label1.caption);
End;
seklinde yapabilirsin. Tabi phpyi kendin yaparsın su an yoldayim kodları da kontrol edemedim. İstediğin bu sanırım?
İstediğim connector'u engellediğim kişiler açamasın ben engeli açtığımda açsın nasıl yapacaz bir fikrin veya projen varsa ekle test edelim birkaç connector yapmış ama kırılması çok basit?
Neophyte
-1.7
Tam olarak böyle iste. Projem yok su an yurt dışındayım yapamıyorum.

Üye Ol veya Giriş Yap

Bu forum başlığına mesaj atmak istiyorsanız hemen üye olun veya giriş yapın.