PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Session-ID, mehrfache Vergütung und Login



maniwelt
16.06.2009, 12:21
Servus :)

Ich hab mal eine....ne, menie Seite hat eine Macke, und die ist äußerst ungewöhnlich und sehr seltsam, glaub, hab sowas noch nirgendswo gesehen.....

Und zwar, ist es bei mir wie im Lotto-Laden, entweder, man Gewinnt und kassiert doppelt, oder wenn man Pech hat, verdienst du normale Summe....

Es geht darum, das laut Top5-Klicker-Addon, es tage gibt, wo User nun DOPPELT, oder sogar wie gestern, VIERFACH angezeigt werden, in Plätze 1-2 oder halt 1-4, dabei die aber AUCH DOPPELT-EINGELOGT sind, oder gar VIERFACH, UND DOPPELT oder gar VIERFACH vergütet werden :der:

Aber auch gibt es Tage, wo alles normal erscheint :suspicious:

Also langsam glaube ich, sind Geister auf meinem Server.....

Ich wurde darauf aufmerksam gemacht, das es dazu kommen kann, wenn Seite nicht direkt ladet, und man aber noch mal ein Klick macht, also auf Banner, Login, etc. das mann so automatisch, wenn man Glück hatt, doppelt eingelogt wird, ohne das vorherige Session geschlossen wird, Etc.

Weiß einer Lösung zum Problemm :rolleyes: ?

jpwfour
16.06.2009, 13:01
Im Normalfall behandeln solche Addons aber Klicks nicht nach der Session-ID, sondern nach der User-ID, und die sollte ja immer gleich bleiben.

Das mit mehreren Session-IDs kann an sich nur auftreten, wenn diese statt via Cookie per GET-Parameter uebergeben wird, oder aber der Browser des Users absichtlich Cookies manipuliert, was aber in dieser Art kein mir bekannter Browser in der Grundeinstellung macht.

Wahrscheinlicher ist da fuer mich, dass der Query, welcher die Eintrage in die Top5 Klicker vornimmt, nur mit Update arbeitet, und wenn

mysql_affected_rows()==0 ist, dann einen INSERT Befehl ausfuehrt.

Natuerlich eine absolute Fehlprogrammierung, die man leider sehr haufig sieht.

Denn:

Wenn jetzt wodurch auch immer eine 0 geupdatet wird
(UPDATE xyz SET abc=abc+0 WHERE uid+ddd)

Gibt mysql auch "affected_rows=0" zurueck, da ja nichts geupdatet werden musste.

Dass "tolle" Script denk dann, "na der User ist noch nicht vorhanden"
und macht sowas wie
INSERT INTO xyz (uid,points) VALUES (ddd,0)

Und schon hat man den User 2x drin etc.

Also danach wuerde ich zuerst suchen, kann zwar auch mit doppelter Session zusammenhaengen, waere aber meiner Meinung nach das abwegigere :wink:

EDIT: Loesung dafuer waere, entweder sicherzustellen, dass eben nie ein solcher UPDATE Fall eintritt, oder eben via SELECT erstmal abzufragen, ob die Zeile existiert.

Und du bist dir sicher, dass diese User mehrfach verguetet werden?
Weil die Reload Tabelle ja afaik mit UserID und IP arbeitet, davon ist die Session auch unabhaengig bzw. diese beiden Werte von der Session...

Parl
16.06.2009, 14:48
Huhu,

Wäre vielleicht mal gut zu wissen welches Top5 Klicker Addon das ist.

Die Top5 Klicker bei den meisten Seiten werden ja aus der Tagesklickrallye ausgelesen und dort ist im Query (sofern das die unveränderte Tagesklickrallye hier ausm DL Bereich ist) immer "SET klicks = klicks +1".

Das mit dem "doppelt eingeloggt" is mir n Rätsel, da müssten ja ebenfalls doppelte Einträge in den kontodaten und/oder userdaten existieren.
Da glaub ich allerdings nicht dass das was mit nem top5 Addon zu tun hat.

MFG

DimpleX
16.06.2009, 23:09
ja habe grad auch so trick gefunden weil ich kein PW habe habe ich mich so eingeloggt das ich ohne neueinlogen online bin ud schrieben kann


thx für die info ich weiss jetzt wie es geht


DimpleX

&
DimpleX2

maniwelt
17.06.2009, 19:42
Hi erst mal....

Also, doppelt oder 3 Fach werden die Klicks, laut Tagesralley, nicht vergütet, ob es aber dabei eine 3 Fache Vergütung pro Klick gibt, kann ich sehr schlecht testen, weil dieser BUG wie gesagt, auftritt wann er will, und nicht wenn mann es selbst möchte.

Die TOP5 habe ich hier im Download geholt, das stimmt.

Nun, wo muss ich nun suchen, in welche Dateien ?

Xenon
17.06.2009, 19:48
Ist die top5/10 zufällig von adi ?

maniwelt
18.06.2009, 14:26
Ist die top5/10 zufällig von adi ?

Hmmm, kann ich dir sehr schlecht sagen, nach dem ich so viele Sachen ein und ausgebaut hatte, im Menü rechts aber steht wie folgend der Eintrag:


<?menuehead("Top5 Klicker");?>
<?$klicksrang = db_query ('SELECT k.punkte,u.nickname FROM '.$db_prefix.'_tklickrally k LEFT JOIN '.$db_prefix.'_userdaten u ON u.uid = k.uid ORDER BY punkte DESC LIMIT 5');
$rang = 1;
while ($klickliste=mysql_fetch_array($klicksrang)) {
echo '
<tr bgcolor="#27408B">
<td align="center">'. $rang++ .'</td>
<td align="center">'.$klickliste[nickname].'</td>
<td align="center">'.number_format($klickliste[punkte],0,",",".").'</td>
</tr>
';
}?>
<?menuefoot();?>

Zum welchem Script der Addon aber gehört, weiss ich nicht direkt....

Der Tagesklick-Addon ist aber von "eBesucher-Slot.de" , vielleicht hakts da, weiss ich leider auch nicht, da heute alles normal abläuft :rolleyes:

jpwfour
18.06.2009, 16:20
Is' wohl das hier aus'm Downloadbereich, das nur in Verbindung mit der TagesKlickRallye läuft ("tklickrally").

Auf jeden Fall würde ich mal in der functions.lib.php schauen, welche Funktion(en) da alles in diese Tabelle reinschreiben.

Und wenn da welche dabei sind nach der von mir oben beschriebenen Art, dann entweder diese Abändern, oder versuchen rauszufinden, an welcher Stelle da mal "0" eingetragen wird.

Oder man kann diesen Fehler immerhin schon ausschließen, aber dann weiß ich auf Anhieb auch nichts :wink:

Xenon
18.06.2009, 16:25
@maniwelt : wie es aussieht ist es dies nicht von mir :thumb: