klicks kontrollieren



  • Hallo, ich verwende in meinen Script unter anderem einen Klickzähler also wie oft ein Beitrag schon ageklickt wurde.
    Und man kann einzelne Beitäge bewerten.

    Wie organisier ich es nun so, dass man nicht dauerhaft "rumklicken" kann und somit die Zahlen manipulieren kann.
    Also dass jeder Besucher auch nur wirklich als ein Klick gilt und er nicht bei jedem Aktuallisieren eine Zahl hochaddiert.

    Hab das mitm bewerten wie folgt gelöst:

    Wenn man auf den Bewertungslink klickt, wird einfach die aktuelle "Bewertungszahl" aus der Datenbank ausgelesen und via Link übergeben und dann einfach +1.
    Aber nun könnte man ja auch den Link manipulieren z.B. meinedomain.de?action=positivbewerten&aktuellezahl=9999999999999999

    Man brauch im Link ja nur den Zahlenparameter manuell ändern. Kann man das irgendwie verhindern?



  • Hallo,

    du könntest beim ersten Klick einen Cookie beim Clienten erzeugen! Bei allen Weiteren Klicks prüfst du dann auf Vorhandensein des Cookies. Ist der Cookie vorhanden hat der Client bereits geklickt!

    Aber vorsicht: Cookies sind nicht von dauer und werden (wenn nicht manuell ein Expire vergeben wurde) mit dem Schließen der Seite gelöscht.

    LG



  • du könntest auch
    1. die klickzahl per POST übergeben(nicht wirklich sicherer aber man muss es den benutzern ja nicht so einfach machen^^)
    2. Die, die schon geklickt haben, in der DB speichern(anhand von IP oder Login, falls du das hast)
    Aber einen 100%-igen Schutz wird es nie geben.



  • naja was willste denn da großartig mit einer manipulation erreichen?
    Wenn 40 leute deinen beitrag in einer firma lesen die nach ausen mit einer IP kommuniziert haste dann auch nur effektiv einen leser wenn du die IP filterst. Was stört dich denn daran?



  • Es ist einfach unschön, wenn irgendwelche Scherzkekse da halt falsche Werte erzeugen.
    Dann könnte ich die Funktion eh gleich sein lassen, wenn die Werte -aufgrund Manipulationen - nicht ernstzunehmen sind.



  • bewertungen sollte man eh nur von registrierten nutzern machen lassen von daher kannste das alles einfach in ne verknüpfungs-tabelle schreiben und gut is



  • Es gibt einen generellen Unterschied zwischen Klicks und Leser.

    Wie viele Klicks es gibt, laesst sich relativ zuverlaessig zaehlen. Wie viele die Beitraege lesen, nicht.

    Man kann dahingehend alles manipulieren: Cookies loeschen und dann neu klicken, IP-Adresse wechseln (ueber Proxy-Server gehen), ...

    Es gibt eigentlich keinen wirklichen Sinn dahiner, aber viele machen das aus Spass an der Freude und um den Administratoren zu aergern. Nimm es einfach hin, das ist professioneller als jedes Abfang-Skript, welches dann am Ende sowieso geknackt wird.



  • IP-Filter und fertig. Die Proxys die dumme Kinder benutzen können kriegst du per Suche nach Proxyliste raus und kannst sie blacklisten. Dass eine Firma mit 40 Leuten an einer Internetverbindung hängt kommt heute eh kaum vor.
    Ich hoffe mal du meinst mit Script ein serverseitiges Programm. Wenn du Clients zählen lässt ist bereits im Ansatz alles verloren.



  • nwp2 schrieb:

    Dass eine Firma mit 40 Leuten an einer Internetverbindung hängt kommt heute eh kaum vor.

    wie kommst denn auf sowas, denkst du die bekommen alle eine eigene leitung 😕



  • Hmm, so genau hatte ich mir das nicht überlegt. 40 Leute an einer DSL-Leitung funktioniert nicht gut, und eine 256er IP-Block sollte auch nicht mehr teuer sein. Ich hab aber keine Statistiken oder so, mag sein dass es immernoch üblich ist.



  • IP-Filter und fertig.

    Und wie genau realisiert man das?



  • Hallo,

    du speicherst die IP des "anklickers" (NUR die IP) und schaust bei jedem weiteren Klick ob diese IP bereits geklickt hat.

    Find ich aus Datenschutzgründen nicht unbedingt prickelnd aber das muss wohl jeder selbst wissen. Solang es nur um Klicks geht und die Wahrscheinlichkeit, dass dich irgendwer durch Manipulation ärgern will verschwindend gering ist, würd ich auf eine Clientlösung setzen. Normale Cookies in Verbindung mit Flashcookies sind für den DAU oder eben Ottonormal-Internetnutzer schon schwer genug zu löschen.

    LG



  • Ok und die IP's speicher ich denn am besten in einer MySQL Tabelle oder wo?



  • Ja



  • Ok.
    Aber dann muss ich sie wahrscheinlich manuell täglich löschen wa?
    Denn der User soll ja nächsten Tag wieder abstimmen können?



  • Ja

    Stichwort: Cronjob



  • Ich würd bei der Prüfung einfach das Datum überprüfen. - Ist es der Vortag, wird die Wertung freigegeben ansonsten nicht. - Den Wert in der Datenbank kann man dann mittels Update erhöhen. - Da erübrigt sich die Verwendung eines Cronjob.



  • inflames2k schrieb:

    Ich würd bei der Prüfung einfach das Datum überprüfen. - Ist es der Vortag, wird die Wertung freigegeben ansonsten nicht. - Den Wert in der Datenbank kann man dann mittels Update erhöhen. - Da erübrigt sich die Verwendung eines Cronjob.

    /sign



  • Ich würde mich nicht alleine auf die IP verlassen. Sonst kann aus einem Uninetzwertk (als beispiel) pro Tag auch nur einer abstimmen.

    Ich würd die IP, den UserAgent und möglicher weise HTTP_X_FORWARDED_FOR (bin aber nicht sicher, ob der immer mitgesendet wird) speihern, um so viel wie möglich einzubeziehen.

    Dadurch kann man zwar vom selben Rechner mit verschiedenen Browsern abstimmen, aber so is das nunmal :>


Anmelden zum Antworten