Umfrage, Mehrfachwahl blocken
Rita
- php
0 Jörg Peschke1 Fabian St.0 Rita0 Tom
Hallo,
habe mir gerade eine Umfrage gebastelt, die auch super für meine Verhältnisse angepasst ist und funktioniert.
Jetzt habe ich noch eine IP-Sperre eingebaut - klappt auch.
Allerdings werden dann ja alle User mit dieser IP geblockt - d.h. wenn jemand über einen Router ins WWW geht und dahinter 100 User hängen, dann sind diese alle für 1 Stunde gesperrt bzw. werden nicht gewertet. Das ist wohl so, oder?
Kann ich dann noch irgendwie ändern, dass ich das PC-spezifischer mache .... hat nicht jeder PC ein individuelle Merkmal, dass ich noch mit abfragen kann? Z.B. den Browser? Wenn es geht ohne Java ... und Cookie ... wenn nicht, dann sagt mir doch bitte welche Parameter ich als spezifisch nehmen könnte (Bildschirmauflösung + Farbtiefe + Browser) ... oder ist ein Cookie in jedem fall einfacher?
Liebste Grüsse,
Rita(lein)
Tach,
Bildschirmauflösung, Browser usw. halte ich nicht für spezifisch genug - es kann trotzdem sein, dass in einem Subnetz zwei Rechner unterwegs sind, die exakt gleich konfiguriert sind.
Nimm ein Firmennetz z.B., da wird häufig ein Satz identischer Rechner gekauft und mit einer eigenen, allgemeingültigen Installations-CD einmal einegrichtet.
Cookie ist sicher noch die verlässlichste Methode. Allerdings nur begrenzt - löscht der User den Cookie, ist die Sperre weg ;)
Ahoi Jörg Peschke,
Cookie ist sicher noch die verlässlichste Methode. Allerdings nur begrenzt - löscht der User den Cookie, ist die Sperre weg ;)
und "sperrt" er cookies wird garnicht erst eins erstellt und er somit nicht gesperrt.
MfG
Moin,
Für den Fall das Cookies abgeschaltet sind.
Eine Notlösung die aber auch nicht 100%ig ist erreichst Du, wenn du zusätzlich zur IP-Adresse noch abfragst ob HTTP_X_FORWARDED_FOR im HTTP-Header gesetzt ist. Dann hast Du die interne IP des Rechners hinter dem Firmenproxy. Der verbreitete Squid setzt dieses Flag.
Aber das ist, wie gesagt ein "kann" der Proxy muß es nicht.
SteBu
Hi
Für den Fall das Cookies abgeschaltet sind.
Genau das wäre meine nächste Frage ..
du zusätzlich zur IP-Adresse noch abfragst ob HTTP_X_FORWARDED_FOR im HTTP-Header gesetzt ist. Dann hast Du die interne IP des Rechners
Kannst Du mir sagen wie ich das mit PHP mache?
Und was meinst Du, wenn nun also Cookies abgeschaltet ist und Dein o.g. Vorschlag nicht funktioniert ... es soll ja Leute geben, die sich einen Spass daraus machen umd Abstimmungen zu stören ... was kann ich noch tun?
Irgendwie checken, ob die gleiche IP innerhalb von sekunden mehrmals die gleiche Antwort gesendet hat ... wäre das eine Lösung?
1000 Dank, Rita(lein)
Ahoi Rita,
Kannst Du mir sagen wie ich das mit PHP mache?
ich bin mir nicht sicher die könntest aber per $_SERVER['HTTP_X_FORWARDED_FOR'] bekommen.
also ich denke du soltlest wie folgt vorgehen:
gibts ein cookie?
-> ja dann weg
-> sonst weiter
gibt es HTTP_X_FORWARDED_FOR
-> ja dann kuck ob die in der letzten stunde was gemacht hat
-> ja dann weg
-> sonst OK
-> nein also kuck normal nach der IP hat die in der letzten stunde was gemacht hat
-> ja dann weg
-> sonst OK
das einzigste was dir da halbwegs helfen könte wäre das nur
regestrierte user abstimmen können. wer schon abgestimmt hat darf
nichtmehr.
MfG
ich bin mir nicht sicher die könntest aber per $_SERVER['HTTP_X_FORWARDED_FOR'] bekommen.
Du kannst Dir sicher sein. Genau damit kommst Du an die interne IP, sofern es im header steht.
das einzigste was dir da halbwegs helfen könte wäre das nur
regestrierte user abstimmen können. wer schon abgestimmt hat darf
nichtmehr.
Yupp, der Weg ist der einzig gangbare um das Problem zu umgehen. Von Doppelanmeldungen mal abgesehen.
SteBu
Hi!
habe mir gerade eine Umfrage gebastelt, die auch super für meine Verhältnisse angepasst ist und funktioniert.
Jetzt habe ich noch eine IP-Sperre eingebaut - klappt auch.
Allerdings werden dann ja alle User mit dieser IP geblockt - d.h. wenn jemand über einen Router ins WWW geht und dahinter 100 User hängen, dann sind diese alle für 1 Stunde gesperrt bzw. werden nicht gewertet. Das ist wohl so, oder?
Das ist so ;-) Genau aus diesem Grund sollte man die IP nicht verwenden, um einen Benutzer eindeutig zu identifizieren. Oftmals besuchen auch Leute deine Seite, die über einen Proxy ins Internet gehen (z.B. AOL-Kunden), deren IP sich bei jedem Aufruf ändern kann und damit dein Unterfangen sinnlos ist.
Kann ich dann noch irgendwie ändern, dass ich das PC-spezifischer mache .... hat nicht jeder PC ein individuelle Merkmal, dass ich noch mit abfragen kann? Z.B. den Browser? Wenn es geht ohne Java ... und Cookie ... wenn nicht, dann sagt mir doch bitte welche Parameter ich als spezifisch nehmen könnte (Bildschirmauflösung + Farbtiefe + Browser) ... oder ist ein Cookie in jedem fall einfacher?
Cookies würden sich in diesem Fall wirklich anbieten und sollten daher auch verwendet werden. Natürlich kann man auch diese Sperre umgehen, aber dennoch ist sie besser als die Speicherung der IP. Alles andere wie Bildschirmauflösung, etc. kannst du getrost vergessen, da hier auch noch JavaScript beim Client aktiviert sein müsste.
Grüße,
Fabian St.
Also beliebn mir nur Cookies .... ?
Die dann am besten über PHP?
LG
Hi!
Also beliebn mir nur Cookies .... ?
Die dann am besten über PHP?
Ja, diese wäre die beste [tm] Lösung. Für PHP siehe setcookie() und $_COOKIE.
Grüße,
Fabian St.
Hallo,
Ja, diese wäre die beste [tm] Lösung.
Naja die ist genau so unzuverlässig wie alle anderen, wenn jemand keine Cookies zulässt dann kann er entweder gar nicht voten oder doch wieder unendlich. Außerdem ist es für jeden ein leichtes Cookies in seinem Browser zu verändern oder noch einfacher einen anderen Browser auf der gleichen Maschine zu nutzen.
Was ist dann mit usern, bei denen die ganze Familie über einen Rechner und den gleichen Browser ins Internet geht? Da kann dann nur einer voten oder wie? Das alles verfälscht die Umfrage mindestens genau so als ob es gar keine Sperre gäbe und man den Leuten einigermaßen vertraut dass sie nicht schummeln, bzw. noch besser der Umfrage gar keine so große Bedeutung zumisst, so dass es dann fast egal ist ob da jemand zwei oder zehn mal geklickt hat.
Grüße
Jeena Paradies
Hi Jeena!
Ja, diese wäre die beste [tm] Lösung.
Naja die ist genau so unzuverlässig wie alle anderen, wenn jemand keine Cookies zulässt dann kann er entweder gar nicht voten oder doch wieder unendlich. Außerdem ist es für jeden ein leichtes Cookies in seinem Browser zu verändern oder noch einfacher einen anderen Browser auf der gleichen Maschine zu nutzen.
Wie ich bereist in meinem vorherigen Posting anzudeuten versucht habe, bietet auch die Lösung mit den Cookies keine ausreichende Sicherheit, jedoch ist diese Methode unter den einfach zu realisierenden, verfügbaren Alternativen als eine der sinnvollsten anzusehen.
Darüber hinaus denke ich, dass die Anzahl derer, die keine Cookies annehmen wesentlich kleiner ist, als die Zahl derer, die einer IP-Sperre entgehen würden. Außerdem gehen von Cookies kaum eine Gefahr aus, die es notwendig machen würde, deren Annahme zu verweigern.
Was ist dann mit usern, bei denen die ganze Familie über einen Rechner und den gleichen Browser ins Internet geht? Da kann dann nur einer voten oder wie? Das alles verfälscht die Umfrage mindestens genau so als ob es gar keine Sperre gäbe und man den Leuten einigermaßen vertraut dass sie nicht schummeln, bzw. noch besser der Umfrage gar keine so große Bedeutung zumisst, so dass es dann fast egal ist ob da jemand zwei oder zehn mal geklickt hat.
Hier stimme ich dir voll und ganz zu ;-) _Sichere_ Abstimmungen lassen sich ohne sehr große Aufwand IMHO im Web gar nicht realisieren.
Grüße,
Fabian St.
Hello,
Du kannst ja mit Hilfe von http://web-sniffer.net/ mal schauen, was Dein Browser alles mitsendet. Habe ich gerade die letzten Tage wiederentdeckt, das Teil. ;-))
Harzliche Grüße vom Berg
esst mehr http://www.harte-harzer.de
Tom