PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Klickpruefung fürs VMS 1.2



jpwfour
10.05.2008, 20:33
http://www.designerscripte.net/downloads.php?do=file&id=72

sql befehl:


ALTER TABLE `vms_userdaten` ADD `fc_wrong_klicks` INT( 1 ) NOT NULL DEFAULT '0';
CREATE TABLE `ztk_fc_link` (
`anz_links` INT( 1 ) NOT NULL DEFAULT '4',
`warnung_ab_klicks` INT( 1 ) NOT NULL DEFAULT '20',
`sperren_ab_klicks` INT( 1 ) NOT NULL DEFAULT '50',
`pruefung_alle_klicks` INT( 1 ) NOT NULL DEFAULT '5'
);
INSERT INTO `ztk_fc_link` ( `anz_links` , `warnung_ab_klicks` , `sperren_ab_klicks` , `pruefung_alle_klicks` ) VALUES ('4', '20', '50', '5');
ALTER TABLE `vms_userdaten` ADD `fc_pruefung` INT( 1 ) NOT NULL DEFAULT '1' ;datei im adminforce:
statt:

db_query("UPDATE ".$db_prefix."_userdaten SET fc_pruefung=".$_POST['pruefung']." WHERE uid LIKE '".$_POST['id']."' LIMIT 1");
db_query("UPDATE ".$db_prefix."_userdaten SET fc_pruefung=".$_POST['pruefung']." WHERE uid LIKE '".$_POST['id']."' ");damit bei eingabe von %% auch alle user geändert werden.

und noch:
topframe_forced.php statt mail(......);
usermail(....);
damit die mails auch ankommen, also einfach "user" davor schreiben, kommt 2x vor.

damit die user die links/das bild vollständig sehen können, sollte man die höhe des topframes etwas vergößern, aber kann man ja individuell durch ausprobieren (einfach Prüfung bei jedem x. Klick : auf 1 setzen) herausfinden.

also so sollte es dann auch im vms 1.2. funzen, hier noch mal die ganze angepasste anleitung:

!! Voher umbedingt Backup machen !!


1. Öffne /fc.php
2. Füge nach

$forced = mysql_fetch_array(db_query("SELECT ziel,tan FROM ".$db_prefix."_gebuchte_werbung WHERE tan='".$_GET['tan']."' LIMIT 1"));

folgendes ein:

$needklick = mysql_fetch_array(db_query("SELECT fc_pruefung FROM ".$db_prefix."_userdaten WHERE uid = '".$_SESSION['uid']."' LIMIT 1"));
$ztk_fc_daten=mysql_fetch_array(db_query("SELECT * FROM ztk_fc_link LIMIT 1"));
$_SESSION['validate_fc_'.$_GET['tan']] = rand(1,$ztk_fc_daten['anz_links']);
if(!isset($_SESSION['i_bannerklick']))
$_SESSION['i_bannerklick']=1;
$_SESSION['need_fc_klick'] =$needklick['fc_pruefung'];
$_SESSION['do_fc_pruefung']=$_SESSION['i_bannerklick']%$ztk_fc_daten['pruefung_alle_klicks'];
// wenn m = $_SESSION['do_fc_pruefung'] dann Link-Bild zeigen

3. Datei speichern, schließen, hochladen.



4. Öffne /topframe_forced.php

5. Füge nach

// User bezahlen und Reload schreiben
if ($_GET['auszahlen'] == 'true' && $force_error != 'true' && $_GET['puk'] == md5($_SESSION['uid'].$forced['aufendhalt'].date("d.m.Y",time()).$percode)){

folgendes ein:
$ztk_fc_daten=mysql_fetch_array(db_query("SELECT * FROM ztk_fc_link LIMIT 1"));
if(!isset($_GET['linkid']) && $_SESSION['do_fc_pruefung']==0 && $_SESSION['need_fc_klick']==1){
$headmsg='Klicke auf Link <img src="link_image.php?tan='.$_GET['tan'].'" width="25px" height="25px">&nbsp;&nbsp;';
for($i=1;$i<=$ztk_fc_daten['anz_links'];$i++)
$headmsg .='<a href="topframe_forced.php?art='.$_GET['art'].'&auszahlen=true&tan='.$_GET['tan'].'&puk='.$_GET

['puk'].'&linkid='.$i.'">Link&nbsp;'.$i.'</a>&nbsp;&nbsp;';
}
else
{
$fcok=0;
if($_SESSION['do_fc_pruefung']==0 && $_SESSION['need_fc_klick']==1)
{
if($_GET['linkid']==$_SESSION["validate_fc_".$_GET['tan']])
$fcok=1;
}else $fcok=1;
if($fcok==1)
{
if(isset($_SESSION['i_bannerklick']))
$_SESSION['i_bannerklick']+=1;
$_SESSION['validate_fc_'.$_GET['tan']]=sha1(md5(rand(4,5).time().'ztk'));

6. Füge vor

} else {
if ($_GET['auszahlen'] == 'true' && $force_error != 'true') $headmsg = 'Pin abgelaufen!';

folgendes ein:

}else{
$_SESSION['validate_fc_'.$_GET['tan']]=sha1(md5(rand(4,5).time().'ztk'));
$headmsg= 'Das war der falsche Link!';
db_query("UPDATE ".$db_prefix."_userdaten SET fc_wrong_klicks=fc_wrong_klicks+1 WHERE uid = '".$_SESSION['uid']."'");
$wc=mysql_fetch_array(db_query("SELECT fc_wrong_klicks FROM ".$db_prefix."_userdaten WHERE uid = '".$_SESSION['uid']."'"));
if($wc['fc_wrong_klicks']>=$ztk_fc_daten['warnung_ab_klicks'])
mail($betreibermail, 'Warnung: Forcedbanner Fakeversuch', 'Benutzer '.$_SESSION['uid'].' hat '.$wc['fc_wrong_klicks'].' mal den falschen Pruefungslink

geklickt!');
if($wc['fc_wrong_klicks']>=$ztk_fc_daten['sperren_ab_klicks'])
{
mail($betreibermail, 'Warnung: Automatische Sperrung', 'Benutzer '.$_SESSION['uid'].' hat '.$wc['fc_wrong_klicks'].' mal den falschen Pruefungslink

geklickt und wurde auf Wunsch von Ihnen gesperrt!');
db_query("UPDATE ".$db_prefix."_kontodaten SET status=2, hinweis='Sie wurden automatisch gesperrt, da Sie zu oft den falschen Link bei Forcedklicks

geklickt haben!' WHERE uid = '".$_SESSION['uid']."'");
$headmsg.='<br>Sie wurden gesperrt!<br>';
db_query("UPDATE ".$db_prefix."_userdaten SET fc_wrong_klicks=0 WHERE uid = '".$_SESSION['uid']."'");
}
}
}

7. Datei speichern, schließen, hochladen.

8. Datei link_image.php ins hochladen (ins Selbe Verzeichnis wo auch die topframe_forced.php liegt).
Den Ordner adminforce hochladen.

9. Füge in der Datei /adminforce/lib/menu_links.php folgendes an beliebiger Stelle ein:

<?menuehead("Klick-Validation")?>
<img src="images/pfeil.gif" border="0" alt="">&nbsp;<a href="?content=/klickpruefung/admin">Einstellungen</a>
<?menuefoot();?>

10. Datei speichern, schließen, hochladen.

11. Folgende SQL-Statements in der Datenbank ausführen:

ALTER TABLE `vms_userdaten` ADD `fc_wrong_klicks` INT( 1 ) NOT NULL DEFAULT '0';
CREATE TABLE `ztk_fc_link` (
`anz_links` INT( 1 ) NOT NULL DEFAULT '4',
`warnung_ab_klicks` INT( 1 ) NOT NULL DEFAULT '20',
`sperren_ab_klicks` INT( 1 ) NOT NULL DEFAULT '50',
`pruefung_alle_klicks` INT( 1 ) NOT NULL DEFAULT '5'
);
INSERT INTO `ztk_fc_link` ( `anz_links` , `warnung_ab_klicks` , `sperren_ab_klicks` , `pruefung_alle_klicks` ) VALUES ('4', '20', '50', '5');
ALTER TABLE `vms_userdaten` ADD `fc_pruefung` INT( 1 ) NOT NULL DEFAULT '1' ;


12. Ausprobieren ;)

mfg ztk

FlexMax
10.05.2008, 21:22
Ich hab vorhin gerade eine stunde herumexperimentiert bis ich das beim vms1.2 zum laufen bekommen habe und jetzt hast du es gepostet :D :D

na witzig, wie der zufall so will, finds aber hilfreich.
Gute Arbeit und danke

Liebe Grüsse
Markus

16v
10.05.2008, 22:01
lol ja wurde auch zeit damit die autoklicker auch aus dem 1.2 verschwinden! 12k klicks in drei tagen ist schon ne reife leistung für einen allein ;-)

auch gleich mal FETT Danke sag!

pummuk
10.05.2008, 23:11
lol ja wurde auch zeit damit die autoklicker auch aus dem 1.2 verschwinden! 12k klicks in drei tagen ist schon ne reife leistung für einen allein ;-)

auch gleich mal FETT Danke sag!

es gibt leute die schaffen die 12k klciks an 1 tag... kommt aber auch immer drauf an wieviel banner du eingubcht hast...

sorry für ot...

16v
11.05.2008, 19:36
es gibt leute die schaffen die 12k klciks an 1 tag... kommt aber auch immer drauf an wieviel banner du eingubcht hast...

sorry für ot...

ist ja nicht unbedingt OT aber deshalb brauche ich ja das Teil, um nicht ungerechtfertigt User zu Beschuldigen!

ElDani
12.05.2008, 01:02
hmmm, feine Sache, danke!

wenn ich testweise jeden Klick prüfen lasse, klappt das.. :)

wenn ich aber auf > jeden 3. Klick < einstelle, fragt er gar nicht mehr... hatte gerade 10 Banner offen, da hätten doch 3 dabei sein müssen, oder versteh ich da was falsch?

jpwfour
12.05.2008, 17:51
eigentlich sollte dann die prüfung alle 3 klicks kommen, das ganze wird über eine session variable gestuert, aber da du ja eh eingeloggt sein musst zum klicken, müsste das funktionieren.

Benutzer1699
12.05.2008, 18:04
uiuiui das alte Script, mir kommt das Schaudern wenn ich den alten Code sehe *gg*

Aber ich glaube da war noch was... die neuen Session-Werte die generiert werden, werden wohl nicht so richtig gelöscht *gg*

Gecko1
12.05.2008, 19:41
Hallo,

Also seit geht alles super arbeit danke erstmal!!

Ein problem habe ich nur diese 2 dinge gehn nicht!!

Userid: (%% für alle User)
Linkprüfung An/Aus (1/0):


Es wird nichts gespeichert wenn ich da was eintrage :(

Kann mir da einer sagen was ich da ändern muss damit das auch noch geht?!

Danke schonmal
+
mfg

Benutzer1699
12.05.2008, 23:32
öffne mal die klickpruefung/admin.php und tausch folgendes aus:



<?php if(isset($_POST['aendern']))
{
db_query("UPDATE ztk_fc_link SET anz_links='".$_POST['anz_links']."', warnung_ab_klicks='".$_POST['warnung_ab_klicks']."',sperren_ab_klicks='".$_POST['sperren_ab_klicks']."', pruefung_alle_klicks='".$_POST['pruefung_alle_klicks']."' LIMIT 1");
}


gegen



<?php if(isset($_POST['aendern']))
{
db_query("UPDATE ztk_fc_link SET anz_links='".$_POST['anz_links']."', warnung_ab_klicks='".$_POST['warnung_ab_klicks']."',sperren_ab_klicks='".$_POST['sperren_ab_klicks']."', pruefung_alle_klicks='".$_POST['pruefung_alle_klicks']."' LIMIT 1");
print mysql_error();
}



Sowie



db_query("UPDATE ".$db_prefix."_userdaten SET fc_pruefung=".$_POST['pruefung']." WHERE uid LIKE '".$_POST['id']."' LIMIT 1");


gegen



{
db_query("UPDATE ".$db_prefix."_userdaten SET fc_pruefung=".$_POST['pruefung']." WHERE uid LIKE '".$_POST['id']."' LIMIT 1");
print mysql_error();
}

Einstellungen neu speichern - schauen ob es zu einem Fehler kommt.

Die Eingaben für 0/1 und %% werden nicht nach der Änderung wieder angezeigt.

Gecko1
13.05.2008, 00:52
hi,

1aaaaa

nun klappt es danke für deine hilfe :thumb:

mfg

ElDani
13.05.2008, 01:23
hmmm, wir ham das nochmal probiert, aber alles über 1 wird dann seeeeeehr unregelmäßig... bei 3 kommts 20 lang gar nich und dann 3 mal hintereinander...
jetzt ham wirs nach Beschwerden auf 222 oder so :cool: eingestellt...
kann man sich darauf verlassen, daß die User das so ab und zu mal zu sehen bekommen?

jpwfour
13.05.2008, 01:41
generell würde ich das nur bei usern einsetzen, die "verdächtig" sind, und da halt mal alle 20 klicks oder so, für einen tag.

da die anzahl der klicks nur als session variable gespeichert wird, lohnt es sich kaum, einen wert von 222 zu nehmen, da wenn ein user jeden tag nur 200 klicks macht, er nie die prüfung zu sehen bekommt, bzw. wenn er sich nach 200 klciks ausloggt und wieder einloggt...

ElDani
14.05.2008, 14:20
oki, danke für die Aufklärung :)

so werden wir das tun :)
is ja eh nur für Leute gedacht, die paar tausend Klicks pro Tag generieren... :eek: :der::biggrin1:

didith1207
15.05.2008, 08:49
Danke ist in nettes teil :)

darkshadow
16.05.2008, 18:19
Hi,

bei mir klappt das mit den mails nicht hab das mail in usermail geändert wie beschrieben. Aber es werden keine mails verschickt sondern es kommt die Fehlermeldung:

Fatal error: Call to undefined function usermail() in /var/www/web3/html/topframe_forced.php on line 156

Woran liegt das?


Gruß Darkshadow

jpwfour
16.05.2008, 18:24
setz mal nach dem ersten <? in der topframe_forced.php:

@require('./lib/extras.lib.php');
bzw.:

<?
@require_once ('lib/functions.lib.php');
@require_once ('lib/session.lib.php');
@require_once ('lib/extras.lib.php');

darkshadow
16.05.2008, 18:32
Hat sich erledigt wenn ich das mail so lasse und nicht usermail draus mache kommen die mails an.:der:

jpwfour
16.05.2008, 18:39
klar kommen die an, usermail() kommt im endeffekt auch auf mail hinaus, nur dann sind die nicht so schön in html :biggrin1:

also wenn du den "vollen" genus von html mails bei den benachrichtigungen haben willst, nimm usermail(), wenn du mit den hässlichen text mails zufrieden bist, nimm mail() :wink:

Zicke
04.07.2008, 12:35
Habe mal diese klickprüfung bei mir eingebaut und auf einmal werden ne menge User gesperrt. User bei den ich eigentlich glaube, wenn sie sagen sie klicken nur mit muas und Zeigefinger.

Daher meine Frage, werden die user gesperrt, weil der unsichtbare Banner nur durch ein klickprogramm bestätigt wurde oder kann es sein, das man beim klicken irgendwie diesen Banner erwischt und als faker gilt.

Wie geht ihr in diesem Falle vor???

jpwfour
05.07.2008, 15:37
unsichtbare banner sind da gar nicht dabei, an sich sollten nach xxx klicks oben im bestätigungsframe ein bild mit ner zahl und 3 links auftauchen, und der user muss dann den link Y klicken...

the-carnage
06.07.2008, 09:06
Hi

Kann man das auch für mailss nehmen

jpwfour
06.07.2008, 13:22
theoretisch ja, nur muss mn vielleicht etwas anpassen, da beim mails bestätigen nicht unbedingt die variable $_SESSION['uid'] zur verfügung steht, sollte aber dann durch $mail['uid'] ersetzt auch funzen.

ausprobieren kostet ja nichts :thumb:

Rallef
02.04.2009, 16:06
Sorry dass ich den alten Thead nochmal hoch hole, aber mit dem Addon klappts bei mir hinten und vorne nicht.

Ich habs in mein VMS 1.2 eingebaut und entsprechend den Ausführugen von jpwfour fürs VMS 1.2 abgeändert.

Bei den unteren Einstellungen im Adminbereich

Userid: (%% für alle User)
Linkprüfung An/Aus (1/0):

lässt sich nix eintragen.
Wenn ich statt %% nun mal %%%% eingebe erscheint mir folgender Fehler:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE uid LIKE '%%'' at line 1

In der Datenbank stehen alle User bei fc_pruefung auf 1 - inklusive dem Admin-Useraccount - lässt sich das auch wieder umkehren?

und

kann man das Addon auch irgendwie in die Paidlinks einbauen?

Rallef
27.06.2009, 17:45
Also das mit dem für alle User ein und ausschalten hab ich jetzt, aber es kommt bei mir nicht zur Prüfung.

Ich teste es gerade bei meinem Test-Useraccount und habe die Prüfung auf alle 5 Klicks eingestellt, aber kommt keine Prüfung - läuft durch, als ob es gar keine Prüfung geben würde.

Habe auch mal in der db geschaut, bei meinem Account steht eine 1 drin bei fc_pruefung.

Woran kann das liegen?

Edit:
jetzt hats einmal geklappt, aber dann kann ich wieder beliebig viele Banner klicken und es kommt keine Prüfung

Nochmal Edit:
dann kommts auf einmal bei jedem Banner und dann kommts wieder gar nicht - ich raffs net, was da los ist. Liegts vielleicht am Ajax?

Wenn ich die Prüfung bei jedem Klick laufen lasse, dann funktioniert es auch bei jedem Klick. Nur wenn ich 2 oder mehr eingebe, dann funktioniert es nicht mehr.

LaSa67
28.06.2009, 09:29
öffne mal die klickpruefung/admin.php und tausch folgendes aus:



<?php if(isset($_POST['aendern']))
{
db_query("UPDATE ztk_fc_link SET anz_links='".$_POST['anz_links']."', warnung_ab_klicks='".$_POST['warnung_ab_klicks']."',sperren_ab_klicks='".$_POST['sperren_ab_klicks']."', pruefung_alle_klicks='".$_POST['pruefung_alle_klicks']."' LIMIT 1");
}
gegen



<?php if(isset($_POST['aendern']))
{
db_query("UPDATE ztk_fc_link SET anz_links='".$_POST['anz_links']."', warnung_ab_klicks='".$_POST['warnung_ab_klicks']."',sperren_ab_klicks='".$_POST['sperren_ab_klicks']."', pruefung_alle_klicks='".$_POST['pruefung_alle_klicks']."' LIMIT 1");
print mysql_error();
}
Sowie



db_query("UPDATE ".$db_prefix."_userdaten SET fc_pruefung=".$_POST['pruefung']." WHERE uid LIKE '".$_POST['id']."' LIMIT 1");
gegen



{
db_query("UPDATE ".$db_prefix."_userdaten SET fc_pruefung=".$_POST['pruefung']." WHERE uid LIKE '".$_POST['id']."' LIMIT 1");
print mysql_error();
}
Einstellungen neu speichern - schauen ob es zu einem Fehler kommt.

Die Eingaben für 0/1 und %% werden nicht nach der Änderung wieder angezeigt.

Hallo,
habe gerade alles installiert,aber bei mir kommt folgende Meldung:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE uid LIKE '' LIMIT 1' at line 1

Warum?

Danke und schönen Sonntag.:der:

DJschatz27
07.07.2012, 19:52
Tachchen

Mal wieder aufleben lassen den Threadt ^^

Mal eine frage zu dem Teil hat das einer hin bekommen das die klicks richtig gezählt werden wie man es im admin einstellt?????