PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Klick4 umbenennen und KlickFaker speichern



Masterphil
04.05.2011, 23:22
Hi @ all, habe mal wieder eine Idee die zu einen CodeSchnipsel taugt welcher hier im ersten Post reinkommt wenn er fertig ist.

Es geht um das alte Thema Klickfaker, habe ja bereits einen Threat dazu wo wir diskutiert hatten und festgestellt haben das die einfachsten Mittel ziemlich effektiv sein können.

Es geht darum die Klick4 umzubenennen um so die Faker per acess.log zu entlarven.

Jedoch sind meine Seiten die gelogt werden Klicktechnisch so aktiv das es immer schwerer wird da überhaut sinnvolle Infos rauszuholen.

Daher meine Idee die hier in einen Scnipsel umgesetzt wird für euch.

Die alte Klick4 wird dabei behalten und der Inhalt geändert, sodass jeder der sie besucht in der DB oder aber in einer Textdaei abgespeichert wird.

Diese kann man dann ohne Probs auslesen und ordnen, wer mehr als x-Einträge hat ist dann sehr wahrscheinlich ein Klickfaker.


Als erstes brauchen wir eine neue Spalte in der DB.
Dann noch den passenden Inhalt für die Klick4.

Bis zum WE werde ich versuchen beides für euch umzusetzten wenn mir denn niemand zuvor kommt, denn dies ist mal etwas einfaches was auch PHP Anfänger wie ich hinbekommen müssten.

Und nun einen schönen abend euch noch.

MfG

Masterphil
04.05.2011, 23:51
Die Tabelle für die Datenbank würde ich wie folgt machen:

CREATE TABLE `vms_klickcheck` (
`uid` INT( 7 ) NOT NULL DEFAULT '0',
`zeit` INT( 11 ) NOT NULL DEFAULT '0'
) ENGINE = MYISAM


Fehlt nun nur noch der Code für die Klick4 damit beides ausgelses und abgespeichert wird.
Den reiche ich dann nach wenn mir keiner zuvorkommt.

Und nun gute Nacht.

jpwfour
05.05.2011, 13:02
...

Die alte Klick4 wird dabei behalten und der Inhalt geändert, sodass jeder der sie besucht in der DB oder aber in einer Textdaei abgespeichert wird.

Diese kann man dann ohne Probs auslesen und ordnen, wer mehr als x-Einträge hat ist dann sehr wahrscheinlich ein Klickfaker.
...

Wenn man auf der alten Seite einen entsprechenden Hinweis anzeigt und den Link zur neuen Seite angibt, sollte es an sich niemandem passieren, mehr als 1x die Alte aufzurufen.

Evtl. könnte man dann nach dem 2. oder 3. Aufruf den User automatisch, fürs Klicken wenigstens, sperren.

Masterphil
05.05.2011, 13:25
Genau JP, gute Idee, so erspart man sich die Verlinkung auch zu ändern, den Test macht man ja eh nur wenn man der Meinung ist jemand der gerade Klickt ist ein Faker.

Mal sehen ob ich heute noch den Code für die Klick4 schaffe, ansonsten übers WE oder falls jemand zuvor kommt.

MfG

MBS
05.05.2011, 17:42
zuvor kommt
zuvorkommt
........

du wiederholst dich .... :der:

Kraemer84
05.05.2011, 19:21
zuvor kommt
zuvorkommt
........

du wiederholst dich .... :der:

Klappts noch ? hat dich irgendjemand zum Rechtschreibhengst ernannt ? Ich finde das ist eine Frechheit vor allem da Masterphil viele gute ideen hat und diese auch im forum verteilt da sollte man nicht noch auf so kleinigkeiten achten (Er könnte es auch für sich behalten)

und ich hab mir mal so deine Beiträge angesehen bei dir kommt ja gar nix produktives dabei raus ausser rumgeheule..

Bitte unterlass das

Danke :knueppel:

Masterphil
05.05.2011, 21:05
Ich denke mal da kann jemand die Umsetzung nicht abwarten und muss sich deshalb aufplustern, wir Mods stehen in der Regel über solchen Kinderkram und daher gehe ich nicht weiter darauf ein.

Und da ich heute leider nicht mehr dazu komme, muss ich es auf morgen/WE verschieben, es sei denn, jemand kommt mir zuvor,lol.

MfG

und einen schönen abend euch noch.

auron2008
05.05.2011, 21:46
reicht da nu nich einfach eine funktion aus ?


function klickfaker(){
db_query("INSERT INTO vms_klickcheck (uid,zeit) VALUES ('".$_SESSION['uid']."','".time()."')");
}

und dann in jeder Fakecheckdatei ^^ klickfaker(); einfügen.

Für's Admin dann alles auslesen ^^ , vielei sollte man aber auch noch ne Spalte machen wo man sieht wie oft ein User diese Checkdatei klickt.

CREATE TABLE `vms_klickcheck` (
`uid` INT( 7 ) NOT NULL DEFAULT '0',
`anzahl` INT( 7 ) NOT NULL DEFAULT '0',
`zeit` INT( 11 ) NOT NULL DEFAULT '0'
) ENGINE = MYISAM


function klickfaker(){
$pruef = db_query("SELECT uid FROM vms_klickcheck WHERE uid = '".$_SESSION['uid']."'");
if(mysql_num_rows($pruef)>0)
{
db_query("UPDATE vms_klickcheck set anzahl = anzahl + 1 WHERE uid = '".$_SESSION['uid']."'");
}else{
db_query("INSERT INTO vms_klickcheck (uid,zeit) VALUES ('".$_SESSION['uid']."','".time()."')");
}
}

Kraemer84
05.05.2011, 23:16
reicht da nu nich einfach eine funktion aus ?


function klickfaker(){
db_query("INSERT INTO vms_klickcheck (uid,zeit) VALUES ('".$_SESSION['uid']."','".time()."')");
}
und dann in jeder Fakecheckdatei ^^ klickfaker(); einfügen.

Für's Admin dann alles auslesen ^^ , vielei sollte man aber auch noch ne Spalte machen wo man sieht wie oft ein User diese Checkdatei klickt.

CREATE TABLE `vms_klickcheck` (
`uid` INT( 7 ) NOT NULL DEFAULT '0',
`anzahl` INT( 7 ) NOT NULL DEFAULT '0',
`zeit` INT( 11 ) NOT NULL DEFAULT '0'
) ENGINE = MYISAM


function klickfaker(){
$pruef = db_query("SELECT uid FROM vms_klickcheck WHERE uid = '".$_SESSION['uid']."'");
if(mysql_num_rows($pruef)>0)
{
db_query("UPDATE vms_klickcheck set anzahl = anzahl + 1 WHERE uid = '".$_SESSION['uid']."'");
}else{
db_query("INSERT INTO vms_klickcheck (uid,zeit) VALUES ('".$_SESSION['uid']."','".time()."')");
}
}


kurze Frage da ich doch noch lange nicht so über php mit mysql drübersteig wie machst du das mit der zeit ?

den parse mit .time wie rechnet sich das ? ein value mit vorgegebener zeit ala



$time = 300 // sek gerechnet
$time = .time

?
oder so ähnlich also ich seh selber schon das das grober unfug ist (bin auch heute echt geschlaucht) und freu mich über aufklärung ^^

auron2008
06.05.2011, 07:37
Die Funktion time() erzeugt einen Timestamp der dann in die DB eingetragen wird. Muss man dann nur noch formatiert ausgeben mit : date("d.m.Y - H:i",$timestamp);
d m y H i geben dabei Tag Monat Jahr Stunde Minute aus, sekunden brauch man hier wohl net, bezweifle sogar das es wichtig ist die stunde zu wissen :cool:

Masterphil
06.05.2011, 21:17
Freut mich das jemand weiter gemacht hat.

Werde es übers WE mal bei mir einbauen.

MfG

MBS
08.05.2011, 11:51
achja?!

DJschatz27
14.05.2011, 17:42
Tachchen wird hier noch was gebaut an dem Code oder getestet??

Kann mir einer von euch mal helfen wie ich die tabelle fürs admin hinbekomme

das ich sehe welcher user wieviel klicks hat verzweifel an dem code

So hat sich erledigt habs mit hilfe doch hinbekommen die liste zu erstellen

DJschatz27
15.05.2011, 20:13
Ich bräuchte mal eure Hilfe und zwar wollte ich mir einen Cron basteln der die Liste der User mit geklickten Klicks komplett löscht aber es will nicht kann da einer helfen bei???

Hat sich erledigt

DJschatz27
17.05.2011, 00:14
Ich stelle euch mal meine Anleitung zu dem Thema bereit:

Klickfacker-Chek:

Als erstes in der DB eine neue Spalte Anlegen wie folgt:

PHP Code:


CREATE TABLE `vms_klickcheck` (
`uid` INT( 7 ) NOT NULL DEFAULT '0',
`anzahl` INT( 7 ) NOT NULL DEFAULT '0',
`zeit` INT( 11 ) NOT NULL DEFAULT '0'
) ENGINE = MYISAM


PHP-Code:für lib/funktions.lib.php an passender Stelle einfügen


function klickfaker(){
$pruef = db_query("SELECT uid FROM vms_klickcheck WHERE uid = '".$_SESSION['uid']."'");
if(mysql_num_rows($pruef)>0)
{
db_query("UPDATE vms_klickcheck set anzahl = anzahl + 1 WHERE uid = '".$_SESSION['uid']."'");
}else{
db_query("INSERT INTO vms_klickcheck (uid,anzahl,zeit) VALUES ('".$_SESSION['uid']."','1','".time()."')");
}
}

Für eure topframesxxx.php folgendes einfügen:


klickfaker();

Im Adminforce/content/

eine klickfaker.php anlegen und folgenden

PHP Code einfügen:


<?head('<center>Alle Klicks der User');?>
<table align="center" width="100%" cellpadding="2" cellspacing="2" border=0 style="border: 2px solid #000000;">
<tr bgcolor="#FFFFFF">
<td align="center" width="10%"><font color="black"><b>ID</b></td>
<td align="center" width="35%"><font color="black"><b>Nickname</b></td>
<td align="center" width="25%"><font color="black"><b>Klicks</b></td>
<td align="center" width="30%"><font color="black"><b>Datum</b></td>
</tr>
<?
$pruef = db_query("SELECT * FROM ".$db_prefix."_klickcheck ORDER BY zeit DESC LIMIT 50");
while ($wo1=mysql_fetch_array($pruef)) {
$nick = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_userdaten WHERE uid=".$wo1['uid'].""));
echo '
<tr bgcolor="#FFFFFF">
<td align="center"><a href="/adminforce/?content=/usersystem/userbearbeiten&uid='.$wo1['uid'].'">'.$wo1['uid'].'</a></td>
<td align="center"><a href="/adminforce/?content=/usersystem/userbearbeiten&uid='.$wo1['uid'].'">'.$nick['nickname'].'</a></td>
<td align="center" width="25%">'.number_format($wo1[anzahl],0,",",".").'</td>
<td align="center" width="30%">'.date("d.m.Y - H:i:s",$wo1[zeit]).'</td>
</tr>
';
}
?>
</table>
<?foot();?>


Cron zum resetten der Klicks wenn nötig:

Hab ich bei mir Klickfäker genannt^^


<?



db_query ("DELETE FROM ".$db_prefix."_klickcheck");



?>


Fertig ist der Codeschnippsel und Viel Vergnügen beim checken!

Mit Freundlichen Grüßen euer DJschatz27 von Kaffee-Klicker.de

Edit: Grad noch in der funktions.lib die funktion geändert da beim alten erst ab dem 2 Klick gezählt wurde

und jetzt direkt ab dem ersten klick und danke für den Tipp an jo18nny