Flash php mysql
Gerd H.
- sonstiges
Hallo Forum,
Ich habe hier ein kniffliges Problemchen für erfahrene Coder unter uns ;).
Ich biete auf meiner seite ne Fotobewertung an. Leider musst ich feststellen, dass Seitenbesucher Scripte verwendet haben, die automatisch klicken. Das geht auf die PErformance des Systems und verschafft den Mitgliedern ungerechterweise Vorteile.
Bisher ist es so, dass den Besuchern input-Felder angezeigt werden und ein Formular per Post abgesendet wird.
Ich habe bislang keine ABsicherungen dagegen gehabt.
Zu meiner Frage:
Wie würdet ihr das lösen? Javascript, PHP-Sessions oder vielleicht FLash?
Ich müsste ja irgendwie sicherheitsfunktionen einbauen ala...wenn Besucher mehrfach in gleichen Zeit-Abständen drückt, dann lasse Wertung nicht zu. Oder / UND wenn Besucer mehrfach auf gleiche Maus-Position klickt,...lasse Bewertung nicht zu.
Ich bräuchte auch einen Schutz vor VB-Scripten, die bisher (so denke ich) die Formulare absenden.
Fuer sowas gibts Captchas. Ansonsten hastes schwer. Wenn jemand schon Bots benutzt, dann kann dieser jemand auch alle eventuellen Abfrageparameter (IP, Cookies, ...) umgehen/faelschen.
Ich hab mal SWG gespielt und man wurde ausgelogt wenn man laengere Zeit nichts gemacht hat oder nen Bot hat z.B. Items produzieren lassen. Die bedingeungen waren die gleichen, die du genannt hast. immer gleiche Klicks, Bewegungen, etc. Es war kein Problem dem Tool in dem script zu sagen, dass es doch bitte ein zufaellige Zahl von wenigen Sekunden warten sollte mit nem Klick und dass es doch bitte jedesmal auf Koordinate x,y mit einer Differenz von je +- 0 bis 5px klicken soll.
Ohne eine absolute Kontrolle ueber den Clientrechner kann man Bots nicht erkennen/verhindern. Captchas oder aehnliche Moelgichkeiten sind die einzige (halbwegs) brauchbare Loesung, nerven aber den normalen User gelegentlich soweit, dass er sich das nicht weiter antut. Nen Bot hingegen stoert ein geknacktes Captcha garnicht...
Einzige Moeglichkeit: Abstimmungen auf angemeldete User beschraenken und jede IDnur 1x zulassen. (und hoffen dass man nicht ploetzlich 1000 User mehr hat...)
Ich persoenlich kenne nur eine einzige Moeglichkeit gegen Cheater bei Onlineumfragen: Das Ergebnis nicht ernst nehmen, sondern nur als Entertainment betrachten.
Naja es geht hier um Fotobewertungen, da möchten die Besucher schon möglichst alle möglichen Kombinationen abstimmen... es werden immer 2 Bilder gegenübergestellt.
Mit Captchas verjage ich alle Mitglieder. Das geht schonmal nicht ;)
Dann muss ich halt irgendwie versuchen, die meisten Bots auszusperren.
Wäre das in Flash performant? Ich habe da Grundkenntnisse drin und würde mich wenns sein muss einlesen. Lohnt sich das? In Flash könnten zumindest keine VB-Scripte mehr greifen. Eventuell sind da auch paar Sicherheitsfunktionen per Actionscripting machbar.
Vielleicht hat ja noch wer Vorschläge.
Vielleicht hat ja noch wer Vorschläge.
Einen haette ich wohl noch. Aber da es ja um ne Art 'Bilderduell' zu gehen scheint, ist der vielelicht nicht ganz brauchbar.
Je nachdem wie schnell die Auswertung vorliegen soll kann man Botusern ihr tun dadurch erschweren, dass sie die Auswirkung ihres Treibens nicht sehen.
Wenn ich einen Bot schriebe ist die befreidigung zu sehen, dass z.B. Bei einer Abstimmung ueber das beste Bild, der Balken fur mein Bild immer laenger wird, die Zahl immer groesser... Und wenn ich am naehcsten tag einlog und sehe, dass irgend ein anderes bild mich ueberholt hat, dann schmeiss ich den Bot wieder an und fuehle mich toll. So duerfte es laufen.
Wenn man endergebnisse nicht direkt weiterverarbeitet sondern erstmal mit bestimmten Daten (dazu passen deine vorschlaege) speichert, kann man sortiern. Wenn man in einem bestimmten zeitraum 1000 Klicks von einer IP miteinem cookie, etc. hat, dann kann man das rausfiltern. wenn man Am Ende das Endergebnis praesentiert, kann kein Botuser die auswirkungen seines tuns erkennen. Haben andere bessere Bots gehabt? wurde sein bot erkannt? was war ein Filterkriterium? er kann es nur schlecht ausprobieren und es wird ihm wirklich schwer gemacht. Das mag den ein oder anderen extra anspornen, aber ich denke, ein grossteil des 'Kicks' ist damit floeten.
Boten ist ein soziales Ding. Dem kann man also am Besten auch mit ner sozial abgestimmten Loesung entgegenwirken. Ganz verhindern wirst Du es nicht koennen. Auch nicht mit Flash. Es gibt genug externe Tools... Zudem wirst du mir einer Flashloesung den ein oder anderen User ausschliessen.
Hi,
Naja es geht hier um Fotobewertungen, da möchten die Besucher schon möglichst alle möglichen Kombinationen abstimmen... es werden immer 2 Bilder gegenübergestellt.
Woher soll der Bot dann wissen, wer auf welchem Bild zu sehen ist? Du koenntest ja den Bildern vor ihrer Auslieferung einen Namen geben, der nichts ueber sie aussagt (z.B. bild.php?id=125&bild=1 und bild.php?id=125&bild=2) und nur serverseitig abspeichern, wer auf welchem Bild zu sehen ist, so kann der Bot dann nicht wissen, auf welches Bild er klicken soll.
mfG,
steckl
Es geht nicht darum, dass einige für sich selbst oder bestimmte Leute bewerten, sondern darum dass man pro Klick vorteile auf der Seite hat. Man bekommt Cooins dafür... Einige User anscheinend nicht schnell genug.
Es geht nicht darum, dass einige für sich selbst oder bestimmte Leute bewerten, sondern darum dass man pro Klick vorteile auf der Seite hat. Man bekommt Cooins dafür... Einige User anscheinend nicht schnell genug.
Ahhhhh!! *Erleuchtet bin* Dann habe ich hier eine schlechte Nachricht: Du kannst nichts anstellen, was das verhindern koennte.
Hi Gerd,
Es geht nicht darum, dass einige für sich selbst oder bestimmte Leute bewerten, sondern darum dass man pro Klick vorteile auf der Seite hat. Man bekommt Cooins dafür... Einige User anscheinend nicht schnell genug.
Wenn ich dich richtig verstehe, dann hast du eingeloggte, authentifizierte User - beschränke einfach die Anzahl der möglichen Klicks pro Minute, Stunde und Tag. Zum Beispiel maximal 5 Klicks pro Minute, maximal 30 Klicks pro Stunde und maximal 100 Klicks pro Tag.
Andere Möglichkeiten hast du nicht. Solche Bots dürften i.d.R. nicht in VB geschrieben sein, sondern direkt als Client kommen und die Server-Kommunikation (welche sonst der Browser macht) nachahmen. Javascript fällt da natürlich vollkommen flach, das beachtet so ein Bot überhaupt nicht. Flash bringt ebenfalls nichts, weil Flash ja auch mit dem Server über HTTP kommuniziert und der Bot dahinter ansetzt. Und mit einer serverseitigen Programmiersprache kannst du den Bot (wenn er gut gemacht ist) gar nicht von einem normalen Browser unterscheiden.
Viele Grüße,
~ Dennis.
Hallo!
Zu meiner Frage:
Wie würdet ihr das lösen? Javascript, PHP-Sessions oder vielleicht FLash?
Um diese Funktion zu nutzen müssen sich die User registrieren. Nur eingeloggte Mitglieder können abstimmen. Serverseitig protokollieren welche Mitglieder wo schon abgestimmt haben und schon kann jedes Mitglied nur einmal abstimmen.
Mehrere User per Skript anzulegen wird schon schwieriger. Hier kannst du aber Vorkehrungen mit zb Captchas treffen.
mfg
frafu