Einzelnen Beitrag anzeigen

D11
(Gast)

n/a Beiträge
 
#28

Re: Eindeutige Identifikation eines PCs

  Alt 24. Mai 2006, 23:36
ok jetzt ist es klar^^

Hier noch ein Tip gegen Bots (Server PHP MYSQL)

Und zwar lasse ich beim Formularaufruf (ist ne PHP-Datei) zum einen zwei Zufallszahlen generieren.
Zum anderen lasse ich eine Textdatei erstellen, die $randomzahl1.txt heißt und in die lasse ich $randomzahl2 schreiben.
Das Formular wird ausgefüllt und abgeschickt (mit beiden Random-Zahlen).
Das aktiviert das schreiben-Script.
Dieses öffnet die Textdatei. Liest die Zahl dort drin und vergleicht diese mit der übergebenen Variable $random2.
Natürlich wird dann nur der DB geschrieben, wenn die Zahl, die aus dem Formular kommt mit der Zahl in der Textdatei übereinstimmt.


Seriennummer einer Partition ermitteln
Autoren: Keine Autoren angegeben
Folgende Funktion gibt die Seriennummer einer Partition zurück.
Ihr muss als Parameter der entsprechende Laufwerksbuchstabe übergeben werden:
Delphi-Quellcode:
function GetSerialNumber(const ADrive: Char): Integer;
var
  SerialNum: DWORD;
  Dummy: DWord;
  Buffer: array[0..255] of Char;
begin
  Result := 0;
  if GetVolumeInformation(PChar(ADrive+':\'),
                          Buffer,
                          SizeOf(Buffer),
                          @SerialNum,
                          Dummy,
                          Dummy,
                          nil,
                          0) then
    Result:=SerialNum
  else
    RaiseLastOSError;
end;
Es handelt sich dabei nur um eine Nummer, die bei der Formatierung erzeugt wird.

RaiseLastOSError ist erst ab Delphi 6 verfügbar.
Programmierer, die mit älteren Versionen arbeiten müssen an dieser Stelle RaiseLastWin32Error verwenden.
Aufgerufen werden kann die Funktion beispielsweise so:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
 Label1.Caption := IntToHex(GetSerialNumber('C'), 8);
end;Der Rückgabewert wird als 8-stellige Hex-Zahl interpretiert.
  Mit Zitat antworten Zitat