Thread Username bei Zugriff auf Apache auslesen: Anonyme Userbefragung
(18 answers)
Opened by Gast at 2006-09-25 17:08
Allso lass mich mal zusammenfassen.
Hast du Zugriff auf die rechner der abstimmenden? (administrativ, oder über die Empfehlung ein Programm herunter zu laden) Handelt es sich um ein lokales Netzwerk, oder sollen Internetnutzer abstimmen? Ich gehe erstmal vom "schlechtesten" Fall aus. Du willst von anonymen Internetnutzern eine Abstimmung haben. In dem fall würde ich wie folgt vorgehen: Merke dir zu jedem Abstimmenden seine IP. (unter Perl und Apache "$ENV{'REMOTE_ADDR'}") (du kannst auch das OS aus dem 'HTTP_USER_AGENT'-String extrahieren) Dann speicherst du bei ihm einen Cookie mit einer eindeutigen Zufallszahl (das ist wichtig, damit jeder Abgestimmte eine eindeute Zahl hat, mit dem man jeden Abstimmenden identifizieren kann) Bei jedem Abstimmenden prüftst du, ob der schon ein gesetztes Cookie hat, wenn nicht, dann teste of die IP schon gespeichert ist. wenn eines von beidem der fall sit hat er schon abgestimmt. Das ist aber nicht sehr zuverlässig, durch löschen des Cookies und neu einloggen bei seinem Provider kann er vorgeben noch nicht abgestimmt zu haben. Wenn es sich um ein lokales netzwerk handelt, dann kannst du davon ausgehen, daß die IPs so gut wie unveränderlich sind. (selbst bei dynamisch vergebenen IPs werden mist dan den Rechner mit einer bestimmten MAC auch immer die gleiche IP vergeben.) Nehmen wir mal an du hättest wie auch immer geartetet Zugriff auf den Rechner. Dann könntest du ein Programm verwenden (compiliertes perl mit WX z.B. ;-) ) bei dem du jedes mal, wenn das Programm heruntergeladen wird, Eine neue eindeutige ID einfügst, welche imit einem auf dem Server liegende Vergelichsnummer übereinstimmen muß. Das fäschen von so etwas ist recht kompliziert, wenn die Nummern mit keinen (offensichtlichen) Regeln aufeinander folgen. (z.b. zufallszahlen, dabei mußt du aber sicher gehen, daß die Nummer nicht schonmal vergeben wurde) Wichtig ist immer auch "anithackertechniken" eiin zu bauen. Wie niemals einfach aufeinanderfolgenden IDs zu nutzen (wie 000001,000002,000003, usw.) rechner (IPs) zu blockieren, die mehrach versucht haben mit falschen IDs ab zu stimmen, oder ersucht mit anderen (unerlaubten) Werten das Abstimmscript auf zu rufen. Ach ja noch eine Möglichkeit gibt es. Du kannst jedem Abtimmwilligen per Mail eine eindeute ID zusenden, die sie in das Abstimmformular eingeben müssen, nach dem Anstimmen wird die ID als ungülig markiert und ist nicht mehr nutzbar. Ich hoffe das hat weiter geholfen. |