 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
20.05.2005, 12:23
|
#1
|
|
TP-Senior
Registriert seit: Dec 2004
Ort: Wittlich
|
cookie oder txt-datei?
Moin,
ich bin gerade dabei, meine Seite von reinem html auf php mit mysql umzustricken. Dazu soll auch eine Funktion gehören, bei der vorgestellte Links bewertet und kommentiert werden können.
Jetzt möchte ich natürlich eine Art Klick-Sperre einrichten, sodass jeder User nur z.B. einmal in 12 Stunden bewerten kann. Sowas ist ja altbekannt.
Jetzt meine Frage: Wie wird sowas in der Praxis am besten gelöst? Ich hatte die Idee, mit Cookies zu arbeiten, wobei ich darin noch gar keine Erfahrung habe, oder alle "Bewertungsdaten" in eine Datei zu schreiben (für jeden Link eine), was mir aber auch ziemlich kompliziert erscheint...
Ich wäre über ein paar Tipps von Euch sehr froh!
__________________
Seid zuversichtlich! - Zumindest bis sie anfangen, Tiere paarweise nach Cape Canaveral zu bringen...
|
|
|
20.05.2005, 12:58
|
#2
|
|
TP-Supporter
Registriert seit: May 2004
Ort: Wien
|
mit cookies bist super dran, denn da kannst du auch genau bestimmen nach welcher zeit sie ablaufen somit kann nach zwölf stunden wieder gevotet werden.
hier ( Cookies) hast du die erklärung und auch verständlcihe beispiele.
vom prinzip her einfach, erstelle einen cookie der 12 stunden gilt nach klick auf bewerten und überprüfe dann bei den bewertungen vorher immer ob er noch existiert!
lg, 
|
|
|
20.05.2005, 16:03
|
#3
|
|
TP-Member
Registriert seit: May 2005
Ort: NRW
|
Zitat:
|
Zitat von urban-a
mit cookies bist super dran, denn da kannst du auch genau bestimmen nach welcher zeit sie ablaufen somit kann nach zwölf stunden wieder gevotet werden.
|
Mea Culpa, wenn ich mich da einmische, aber das kann er a) auch mit einer Textdatei erreichen (einfach Datum/Uhrzeit zur jeweiligen Bewertung mitspeichern) und b) muß er ausserdem für jede einzelne Bewertung die Url oder zumindest seine DB-ID für die entsprechende URL mitspeichern, um die einzelnen Links (die ja, jeder für sich,bewertet werden sollen) auseinander zu halten. Sonst müßte jeder Bewertungswillige nach jeder Bewertung wieder 12 Stunden warten bis er eine neue Bewertung abgeben kann....
An der Stelle würde mein Vorschlag eher in die Richtung gehen:
- Bewertungen nur von eingetragenen Usern vornehmen lassen oder bei der Bewertung eine willkürlich erstellte (und natürlich gegen eine entsprechende DB-Tabelle geprüfte) BenutzerID per Cookie auf dem Client hinterlegen
- Bewertung zusammen mit der BenutzerID, UrlID, Datum, Uhrzeit und Bewertung in einer mySQL-Tabelle speichern (wenn Du eh schon dabei bist auf mySQL umzustellen, warum dann noch die Überlegung mit einer Textdatei?)
- bei erneuter Bewertung eines Benutzers die alte Bewertung überschreiben.
Bei einer 12 Stundensperre könnte sich langfristig eine Überbewertung eines Links durch einzelne Nutzer oder eine Nutzergruppe ergeben, wenn diese den gleichen Link "hochlobt".
So kann jeder Nutzer nur eine Wertung für eine Url abgeben, diese aber später (evtl. aus Erfahrungswerten heraus?) auch wieder abändern.
IP-Sperren finde ich sowieso nicht den Hit! Es gibt auch viele Benutzer mit dynamischen IPs und wenn mehrere innerhalb dieser 12 Stunden hintereinander (zufällig) mit der gleichen IP auftauchen, haben die übrigen Benutzer "halt Pech gehabt"?
Ich glaube kaum das jemand bereit ist, häufiger zu versuchen Site's zu bewerten, wenn jedesmal die Möglichkeit besteht, das er bis zu 12 Stunden warten muß um seine Bewertung abzugeben. Und selbst dann könnte er noch Pech haben, das gerade mal wieder kurz zuvor jemand mit seiner IP eine Bewertung abgegeben hat....
"Das die gleiche IP in so kurzen Abständen nochmal für die gleiche Site voten möchte ist unwahrscheinlich!" könnte man jetzt argumentieren, aber kann man es auch ausschließen? IMHO nicht....
vG
Arno
Geändert von Arno Simon (20.05.2005 um 16:09 Uhr).
|
|
|
20.05.2005, 18:06
|
#4
|
|
TP-Senior
Registriert seit: Mar 2004
Ort: Stuttgart
|
Das Problem der dynamischen IPs würde ich nicht darin sehen, dass für zwei User die selbe innerhalb von 12 Stunden vergeben wird (wäre echt ein Riesenzufall), sondern eher dass der User sich aus dem Netz trennt, sich wieder einwählt, und dann ja wieder voten kann.
__________________
Das Wenige, das ich weiß, verdanke ich meinem Nichtwissen.
Sacha Guitry (1885-1957), frz. Schriftsteller, Schauspieler u. Regisseur
|
|
|
20.05.2005, 20:22
|
#5
|
|
TP-Senior
Registriert seit: Dec 2004
Ort: Wittlich
|
Vielen Dank für die Denkanstöße, hat mir weitergeholfen
Zitat:
|
Zitat von Arno Simon
muß er ausserdem für jede einzelne Bewertung die Url oder zumindest seine DB-ID für die entsprechende URL mitspeichern, um die einzelnen Links (die ja, jeder für sich,bewertet werden sollen) auseinander zu halten. Sonst müßte jeder Bewertungswillige nach jeder Bewertung wieder 12 Stunden warten bis er eine neue Bewertung abgeben kann....
|
Das ist genau mein Problem, warum ich die Cookie_lösung auch nicht so doll finde...
Zitat:
|
Zitat von Arno Simon
Bewertungen nur von eingetragenen Usern vornehmen lassen
|
Das ist wirklich eine Überlegung wert...
Zitat:
|
Zitat von Arno Simon
Bewertung zusammen mit der BenutzerID, UrlID, Datum, Uhrzeit und Bewertung in einer mySQL-Tabelle speichern (wenn Du eh schon dabei bist auf mySQL umzustellen, warum dann noch die Überlegung mit einer Textdatei?)
|
Stimmt eigentlich, kann natürlich bei über hundert Links recht umfangreich werden...
__________________
Seid zuversichtlich! - Zumindest bis sie anfangen, Tiere paarweise nach Cape Canaveral zu bringen...
|
|
|
20.05.2005, 21:35
|
#6
|
|
TP-Veteran
Registriert seit: Jun 2004
Ort: Stuttgart
|
du könntest in den cookies die ID, IP und den Timestamp des bewerteten links als serialisiertes array abspeichern. In der DB speicherst Du das selbe.
Immer wenn der besucher wiederkommt kannst du sehen ob es Übereinstimmungen gibt. Wenn ältere Timestamps im Cookie sind, dann kannst du diese dort und den Eintrag in der DB löschen.
|
|
|
20.05.2005, 22:08
|
#7
|
|
TP-Greis
Registriert seit: Mar 2001
Ort: Berlin, Germany
|
Um euch den Wind aus den Segeln zu nehmen - es ist im Internet schlichweg unmöglich, den gleichen User immer 100% wiederzuerkennen.
http://www.php-faq.de/q/q-scripte-abstimmung.html
__________________
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
|
|
|
20.05.2005, 22:10
|
#8
|
|
TP-Veteran
Registriert seit: Jun 2004
Ort: Stuttgart
|
Da haste Recht, aber man kann es ja mal so gut wie es eben möglich ist versuchen.
|
|
|
20.05.2005, 23:25
|
#9
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
Normalerweise nutzt man soetwas nur in Scripten, wo User sich anmelden. Dann sind sie eindeutig identifiziert und man kann alles mit ihnen anstellen.
Wenn man das für alle User machen will, hat man keine Chance. Man kann höchstens über die IP des Users ein erneutes voten verhindern, der kann aber jederzeit mit anderer IP wiederkommen.
|
|
|
21.05.2005, 10:31
|
#10
|
|
TP-Senior
Registriert seit: Dec 2004
Ort: Wittlich
|
Zitat:
|
Zitat von St@eff.en
Wenn man das für alle User machen will, hat man keine Chance. Man kann höchstens über die IP des Users ein erneutes voten verhindern, der kann aber jederzeit mit anderer IP wiederkommen.
|
Naja, so eng sehe ich das auch nicht. Es geht mir nur darum, dass einer nicht so einfach seine Seite hochpushen kann oder die Kommentar-Box zuspammen. Wenn's einer wirklich will, kann man's eh nicht verhindern. Aber zumindest für Diejenigen, die nicht so viel Durchblick haben, möchte ich schon ein paar Hindernisse einbauen...
Ich glaube, ich werde die Variante von Arno Simon ausprobieren, also mit Anmeldung und Datenbank. Mal sehen...
__________________
Seid zuversichtlich! - Zumindest bis sie anfangen, Tiere paarweise nach Cape Canaveral zu bringen...
|
|
|
21.05.2005, 14:44
|
#11
|
|
TP-Senior
Registriert seit: Dec 2004
Ort: Wittlich
|
Soooooo....
die Sache mit den Cookies funzt ja ganz prima.... ausser beim IE
Der will die Dinger nicht annehmen! Gibt's da einen Trick? 
__________________
Seid zuversichtlich! - Zumindest bis sie anfangen, Tiere paarweise nach Cape Canaveral zu bringen...
|
|
|
21.05.2005, 15:15
|
#12
|
|
TP-Specialist
Registriert seit: Mar 2005
Ort: Unterfranken
|
Ein Browser ist nicht dazu verpflichtet, Cookies anzunehmen. Wie sehen deine Sicherheitseinstellungen aus?
Vielleicht könntest du auch den Code posten, der die Cookies schreibt und liest.
|
|
|
21.05.2005, 20:09
|
#13
|
|
TP-Senior
Registriert seit: Dec 2004
Ort: Wittlich
|
Ich hab's jetzt auf "session" umgebaut.
Ging auch, nur wieder bim IE nicht. Sch... (freiwillige Selbstzensur)
Dann hab ich's auf den Webspace hochgeladen ... und ... es lief! Also lag das Problem bei meinen lokalen Servereinstellungen. Hab' dann mal die beiden infophp verglichen - Der Unterschied lag in der Einstellung "session.use_trans_sid", die standen beim lokalen Server auf "off".
Fix die php.ini geändert, neu gestartet und..... nix! Die "session.use_trans_sid" steht immernoch auf "off" ...komisch...
Aber zumindest liegt's nicht mehr am Code... 
__________________
Seid zuversichtlich! - Zumindest bis sie anfangen, Tiere paarweise nach Cape Canaveral zu bringen...
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:25 Uhr.
|
 |