Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo,

kann mir jemand einen Tip geben.

Ich möchte eine Umfrage erstellen, wobei aber der Nutzer nur

einmal abstimmen darf. Habe gehört es soll über IP oder über

Cookies gehen.

Hat jemand schon erfahrung damit, und kann mir Hilfe geben.

Danke im voraus

Geschrieben

Über IP Adressen wird das problematisch. Denn bei jeder neuen Einwahl ins Internet bekommen viele eine andere IP Adresse. Und wenn schon mal mit dieser abgestimmt wurde und jemand neues bekommt diese, dann er damit nicht mehr abstimmen.

Über Cookies ist das gleiche. Wenn ich die Cookies lösche kann ich wieder abstimmen. Es geht also nur über einen Logindialog.

Frank

Geschrieben

Du kannst die IP des Users ermittel das ist eine Möglichkeit das der User nur einmal abstimmen darf. Es kann aber sein das mehrere User über die gleiche IP auf deine Seite kommen dann kann immer nur der erste Abstimmen.

Wenn der User seine Verbindung zum Internet getrennt hat und sich wieder neu einwählt bekommt er meist eine neue IP da die meisten keine Statische IP's haben somit kann der User auch wieder dran Teil nehemen.

IP bestimmen

wenn in DB vorhanden --> User hat schon mal Abgestimmt.

Wenn nicht vorhanden in DB übernehemen und user Abstimmen lassen.

Die andere Lösung wären die Cookies nur wenn der User diesen wieder löscht kann er auch mehrmal abstimmen.

versuchen Cookie zu lesen

Cookie vorhanden --> User hat Abgestimmt.

Cookie nicht Vorhanden User kann Abstimmen und Cookie setzen

Wenn die Abstimmung in einem Mitgliederbereich geschen soll dann kannst du das für jeden User vermerken ob er schomal abgestimmt hat. Dann ist es eindeutig und man kann es nicht mehr von aussen Manipulieren.

Geschrieben

Danke erstmal für die schnellen Antworten.

Ich denke mit dem Cookie is nicht so ne tolle Sache.

Mit der IP is halt so ne Sache, klar kann die IP mehrmals vergeben werden

je nach einlogen , aber wie soll es den sonst gehen?

Gibt es andere Alternativen?

Geschrieben

Ok, habe mich nun entschlossen, doch mit IP zu arbeiten,

da ich keinen Login machen möchte,weil der Aufwand zum

anmelden und abspeichern zu groß wäre.

Es sollte ja nur eine kleine Umfrage werden.

Hat jemand schon mal so eine IP Abfrage gemacht?

Geschrieben

in php kannst du das $_SERVER Array nutzen um die IP Adresse abzufragen.

Der Index lautet: REMOTE_ADDR

Also zusammen:

$ip = $_SERVER['REMOTE_ADDR'];

Kannst dir ja auch mal das gesamte Array ausgeben lassen:

echo "<pre>";
print_r($_SERVER);
echo "</pre>";
[/PHP]

Geschrieben

Na ich habe doch weiter oben schomal ein bischen PseudoCode geschrieben wie so was ganz grob aussehen kann.

IP bestimmen

jetzt kommt es drauf an wo du die IP speichern willst DB oder Datei

IP mit schon vorhandenen IP's vergleichen

wenn schon Vorhanden -> User hat schon abgestimmt

Wenn nicht Vorhanden -> User hat noch nicht abgestimmt darf jetzt Abstimmen, IP speichern

Geschrieben

warum nimmst du denn nicht beides? ip und cookie? das würd ich jetzt nämlich wieder machen

wenn (cookie vorhanden)

  abstimmen nicht möglich

wenn (ip vorhanden)

  cookie setzen

  wenn (cookie gesetzt)

    abstimmen

  ansonsten //cookie sind userseitig deaktiviert bzw wurde gelöscht, user war schonmal hier (ip)

    abstimmen nicht möglich

ansonsten

  ip übernehmen

  cookie setzen

  abstimmen

Geschrieben

Defakto funktioniert keine saubere Abstimmung nicht ohne einen Login. Das Problem sehe ich da weniger in der Neuzuweisung durch den Provider sondern eher durch IP- Masquerading. Sobald die Verbindung durch einen Router hergestellt wird oder die User hinter einem Proxy sitzen, kommt man mit der IP nicht weiter.

Um den Login zu umgehen ist der sinnvollste Weg, über eine Kombination aus IP, clientseitigem Cookie und serverseitigem Cookie (Session) zu gehen. Zusätzlich zu dem oberen Pseudocode müsste dann noch eine Routine mit dem abspeichern der Session zusätzlich zur IP und die entsprechende Abfrage, eingebaut werden.

Die Lösung würde schonmal einen großen Raum abdecken wäre aber immer noch nicht für alle User anwendbar.

Geschrieben
eine session bezeichnet man als serverseitiges cookie? worin besteht der unterscheid zwischen ip und serverseitigem cookie?

Die Session ist solange aktiv wie der User nicht zu einer anderen Seite wechselt, die Internetverbindung beendet wird oder die Lifetime der Session beendet ist. Beim Start einer Session wird auf dem Server, in einem bestimmten Verzeichnis, eine Datei angelegt. als Dateiname wird in der Regel die Session- ID verwendet. Im Inhalt der Datei stehen dann die Variablen der Session mit den entsprechenden Werten. Sofern der Server richtig funktioniert werden diese Datei beim Ablaufen der Lifetime automatisch wieder gelöscht. Es erfüllt quasi die Funktion eines Cookies aber liegt auf dem Server. Keine Ahnung ob der Ausdruck "Cookie" für diese Datei falsch ist.

Bei einer Session wird zusätzlich auf einem Client noch die Session- ID in einem Cookie hinterlegt. Wenn man nun die Session- ID dauerhaft auf dem Server speichert und beim nächsten Aufruf der Seite abfragt ob auf dem Client schon eine Session mit der gespeicherten ID existiert oder nicht, ist man wieder unabhängig von der IP.

Ich wüsste keinen Weg die MAC- Adresse über eine Scriptsprache abzufragen. Zudem kann man sich auch da nach dem Sinn fragen. Ich habe ein Netzwerk mit 5 Clients und ein Router stellt für mich die Internetverbindung her. Das Paket erhält am Client einen Header mit den Ziel und Herkunftsinformationen, etc. Am Router angekommen erhält das Paket einen neuen Header. Also gibt es auch hier keine Möglichkeit von außen auf einen Client hinter dem Router zu schließen. Nach außen sollte nur die MAC des Routers "sichtbar" sein. Das gillt ebenso für Proxies und ich denke es ist keine Minderheit, die keinen Zugang direkt über ein Modem herstellt.

Geschrieben

Ausserdem könnte man, wenn es möglich wäre, gewiss irgendwelche Dummheiten damit anfangen! Denn die MAC ist (wie ja schon gesagt) immer die eindeutigste Adresse und die änder sich ja auch nicht so schnell...

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...