schwierige MySQL-Abfrage und keinen Schimmer meinerseits ^^

ronin

Erfahrenes Mitglied
Also ... zu meinem Problem.

Meine Datenbank sieht so aus
Code:
ID | Page_ID | datum | IP-Adresse | Browser

Page_ID ist die ID-Nummer für die gevotet wurde
Datum ist ein Timestamp
IP-Adresse beinhaltet die IP-Adresse des betreffenden Users
Browser halt den Browser ...

Das ganze hat den Sinn, das ich versuche Cheater / Mehrfachvoter zu loggen. Das ganze ist eine weitere Sicherheitsmaßnahme neben Cookies, etc.


Nun möchte ich eine Abfrage starten, die mir anzeigt ob eventuell ein Cheater am Werk ist. Dies wären z.B. mehrere Einträge in der DB die sowohl in Page_ID und IP-Adresse oder Browser übereinstimmen.


ich komme bis
datum>'".(time()-3600)."' deswegen, damit nur die Einträge der letzten 2 Stunden relevant sind.

nur wir mach ich den Rest? Mir fällt da nix zu ein ...


Danke im Vorraus und Grüße, Ronin
 
Original geschrieben von ronin
Nun möchte ich eine Abfrage starten, die mir anzeigt ob eventuell ein Cheater am Werk ist. Dies wären z.B. mehrere Einträge in der DB die sowohl in Page_ID und IP-Adresse oder Browser übereinstimmen.
Du hast doch schon selbst die Antwort gegeben. Du fragst einfach ab, ob es bereits Datensätze mit der gleichen IP und Browser gibt (obwohl Du Browser hier eigentlich weglassen könntest, wichtig ist nur die IP). Wenn ein User mehrmals für verschiedene Page_IDs abstimmen darf, dann musst Du Abfrage noch auf die Page_ID erweitern.

Wenn Du dann keine Datensätze zurück bekommst, dann kannst Du die neuen Daten eintragen lassen. Wo liegt denn jetzt da das Problem? ;)

Musst aber bedenken, dass auch kein 100%iger Schutz ist, da in den meisten Fällen die IP dynamisch nach jeder Einwahl neu vergeben wird. Aber im Zusammenspiel mit Cookies und dieser Abfrage erschwert es natürlich doch ein wenig, aber trotzdem kann man immer noch cheaten ;)
 
Zurück