Archiv verlassen und diese Seite im Standarddesign anzeigen : VMS1 Bettelreferrer kontrollieren oder referrer sperren
Als erstes brauchen wir ein Tabelle in der datenbank:
CREATE TABLE vms_bettelreferrercheck (
url_md5 varchar(32) NOT NULL default '',
url varchar(255) NOT NULL default '',
hits int(10) NOT NULL default '0',
an_aus tinyint(2) NOT NULL default '0',
PRIMARY KEY (url_md5),
KEY hits (hits),
KEY url (url)
) TYPE=MyISAM;
dann müssen wir die bettelseite abändern.( bitte vorher eine Kopie von der bettelseite machen falls man die alte Bettelseite wieder nutzen will).
zum abändern /content/betteln.php öffnen und den gesamten inhalt ersetzen mit folgenen inhalt:
<?
// SecVMS change begin
$_GET['ref'] = (int)$_GET['ref'];
$bettelreferrer = $_SERVER["HTTP_REFERER"];
$bettelreferrer_array = parse_url($bettelreferrer);
$bettelhost = $bettelreferrer_array["host"];
$update_query = db_query(sprintf("update vms_bettelreferrercheck set hits=hits+1 where url_md5='%s'"
, addslashes(md5($bettelhost))
));
if ( mysql_affected_rows($update_query) == 0 ) {
db_query(sprintf("INSERT INTO vms_bettelreferrercheck (url_md5,url,hits,an_aus) VALUES ('%s','%s','1','0')",
addslashes(md5($bettelhost)),
addslashes($bettelhost)
));
}
// SecVMS change end
$bettelrefdaten = mysql_fetch_array(db_query(sprintf("SELECT * FROM vms_bettelreferrercheck where url= '%s'"
, $bettelhost
)));
if ($bettelrefdaten['an_aus'] == '0') {
$reloadcheck = db_query("SELECT * FROM ".$db_prefix."_reloads WHERE ip = '".$ip."' and tan = 'bettelaufruf' and bis >= '".time()."'");
if (!mysql_num_rows($reloadcheck)) {
$minimum = $pageconfig['min_betteln'];
$maximum = $pageconfig['max_betteln'];
srand((double)microtime()*1000000);
$bettelsumme = rand($minimum*100,$maximum*100)/100;
// Reload setzen und Umsätze schreiben
$new_reload = time()+$pageconfig['reload_betteln'];
db_query("INSERT INTO ".$db_prefix."_reloads (ip,uid,tan,bis) VALUES ('".$ip."','".$_GET['ref']."','bettelaufruf','".$new_reload."')");
db_query("UPDATE ".$db_prefix."_kontodaten SET angebettelt =angebettelt + 1, bv = bv + ".$bettelsumme." WHERE uid = '".$_GET['ref']."'");
bonuslose ('+',$bettelsumme,$_GET['ref']);
$betteltext = '<b>Du hast für den User '.$_GET['ref'].' gerade '.$bettelsumme.' Bonuslose erbettelt!</b>';
} else {
$reloadcheck = mysql_fetch_array($reloadcheck);
$betteltext = '<b><font color="#FF0000">Du bist noch für '. round((($reloadcheck['bis'] - time())/60),0) .' Minuten fürs Betteln gesperrt</font></b>';
}
} else {
$betteltext = '<b><font color="#FF0000">Kein Referrer übergeben oder Eigenklicks oder Referrer gesperrt</font></b>';
}
?>
<?head("Betteln auf OOOOHPS-LOSE");?>
Verdiene auch Du mit!<br>
Melde Dich bei <?=$seitenname;?> an und bewirbe Deinen persönlichen Bettellink, so
verdienst Du deine <?=$waehrung;?> fast wie im Schlaf!<br>
<br>
<div align="center"><?=$betteltext;?></div>
<?foot();?>
<?head("Werbung dieser Seite");
$filename = 'lib/texte/bettelwerbung.txt';
$fp = fopen ($filename, "r");
$inhalt = fread ($fp, filesize ($filename));
fclose ($fp);
$inhalt = str_replace('\\', '', $inhalt);
echo nl2br($inhalt);
foot();?>
dann die betteln.php wieder hochladen. jetzt wüssten schon die referer geloggt werden.
Jetzt zum admin bereich dazu müssen wir eine seite basteln die bettelreferrercheck.php heist.
hier diesen inhalt reinsetzen:
<?
if($_POST["update"]){
db_query(sprintf("UPDATE vms_bettelreferrercheck SET an_aus = '%s' where url_md5='%s'"
, $_POST['an_aus']
, $_POST['url_md5']));
}
if($_POST["delete"]){
db_query(sprintf("DELETE FROM vms_bettelreferrercheck where url_md5='%s'"
, $_POST['url_md5']
));
echo $_POST['url_md5'];
db_query("OPTIMIZE TABLE vms_bettelreferrercheck");
}
$bettelrefdaten = mysql_fetch_array(db_query("SELECT * FROM vms_bettelreferrercheck"));
head("Urls Sperren"); ?>
<center><br>
<font size="3"><b>Url Sperren</font>
<table border="1">
<tr><form action="" method="POST">
<td><b>Url MD5:
</td>
<td align="center"><input type="text" name="url_md5" value="">
</td>
</tr>
<tr>
<td><b>an_aus:
</td>
<td align="center">
<select name="an_aus" size="1">
<option value="" SELECTED>wählen</option>
<option value="0">An</option>
<option value="1">Aus</option>
</select>
</td>
</tr>
<tr>
<td align="center" colspan="2"><input type="submit" name="update" value="Eintragen">
</td>
</tr>
</form></table>
<br>
<? foot();?>
<? head("Urls löschen"); ?>
<center><br>
<font size="3"><b>Url Löschen</font>
<table border="1">
<tr><form action="" method="POST">
<td><b>URL MD5:
</td>
<td align="center"><input type="text" name="url_md5" value="">
</td>
</tr>
<tr>
<td align="center" colspan="2"><input type="submit" name="delete" value="Löschen">
</td>
</tr>
</form></table>
<br>
<? foot();?>
<?head("Werbung die eingetragen ist");?>
<table align="center" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFC0" width='450'>
<tr bgcolor="#FFFFC0">
<td align="center"><b>URL MD5</b></td>
<td align="center"><b>URL</b></td>
<td align="center"><b>HITS</b></td>
<td align="center"><b>An/Aus</b></td>
</tr>
<?
$query = db_query("SELECT * FROM vms_bettelreferrercheck ORDER by hits DESC");
while ($row = mysql_fetch_array($query)) {
?>
<tr bgcolor="#FFFFC0">
<td align="center"><? echo $row["url_md5"];?></td>
<td align="center"><a href="http://<? echo $row["url"];?>/" target="_blank"><? echo $row["url"];?></a></td>
<td align="center"><? echo number_format($row["hits"],0,",",".");?></td>
<td align="center"><? echo $row["an_aus"];?></td>
</tr>
<?
}
?>
</table>
<? foot();?>
jetzt haben wir unsere bettelreferrercheck.php und laden die unter adminforce/content/ auf dem server.
jetzt setzen wir noch einen link im adminmenue:
» <a href="?content=/bettelreferrercheck">Bettelcheck</a>
dann sieht das so aus im adminbereich:
http://lose.oooohps.de/images/bettelreferer.gif
jetzt kann man urls sperren 0 ist an und 1 ist aus. schaltet man eine url aus wird der bettelaufruf nicht mehr bezahlt und der user bekommt folgende meldung.
Kein Referrer übergeben oder Eigenklicks oder Referrer gesperrt.
Ist die url nicht gesperrt (0) bekommt der user ganz normal die vergütung.
Alle refferurls sind anklickbar das man die seiten kontrollieren kann.
Ich garantiere nicht das es bei jedem funktioniert der einbau und die nutzung ist auf eigene gefahr. Das Tool wurde von mir geproggt und ist schon seit tagen im einsatz und funktioniert bei mir ohne Fehler.
Viel spass
Habe ein ähnliches, etwas umfangreicher im einsatz, kann es nur jedem empfehlen, der einen Bettelink auf seiner seite anbietet :)
Hört sich sehr interessant und helfenswert an :)
Kann man das aber noch so abändern, dass man z.B. eine bestimmte User-ID einibt und das Script einem dann zeig, durch welche Seiten der User eine Vergütung bekommen hat =)?
flenders49
05.09.2007, 16:37
Leider funktioniert die betteln.php nicht ! Die seite bleibt schwarz. Im reload arbeitet sie aber , Zeigt an das ich im Reload bin. Die Seiten lassen sich auch nicht sperren oder freigeben nur löschen.
Mfg
Flenders49
habs mal auf meiner testseite ausprobiert, beim betteln verschwindet content und rechtes menü, gremlin und ich sind etwas ratlos
vorallem weil beim reload der seite content und menü wieder da sind und
du bist fürs betteln noch 59 min gesperrt
flenders49
05.09.2007, 18:23
// Reload setzen und Umsätze schreiben
$new_reload = time()+$pageconfig['reload_betteln'];
db_query("INSERT INTO ".$db_prefix."_reloads (ip,uid,tan,bis) VALUES ('".$ip."','".$_GET['ref']."','bettelaufruf','".$new_reload."')");
db_query("UPDATE ".$db_prefix."_kontodaten SET angebettelt =angebettelt + 1, bv = bv + ".$bettelsumme." WHERE uid = '".$_GET['ref']."'");
kontobuchung ('+',$bettelsumme,$key);
$betteltext = '<b>Du hast für den User '.$_GET['ref'].' gerade '.$bettelsumme.' Bonuslose erbettelt!</b>';
} else {
$reloadcheck = mysql_fetch_array($reloadcheck);
$betteltext = '<b><font color="#FF0000">Du bist noch für '. round((($reloadcheck['bis'] - time())/60),0) .' Minuten fürs Betteln gesperrt</font></b>';
}
Ich habe den Fehler gefunden. Oben steht Bonuslose , bei mir muss aber kontobuchung ('+',$bettelsumme,$key); hin. Bonuslose hab ich nicht definiert ;)
Danke nochmal fürs gucken. Kannst ja ändern oben. Sonst klappt das prima.
war mal so frei die geänderte fassung ohne bonuslose zusammenzupacken und gremlin stellt es gerade in den downloadbereich rein
Original von dude32
war mal so frei die geänderte fassung ohne bonuslose zusammenzupacken und gremlin stellt es gerade in den downloadbereich rein
kannst du mal kurz den link zu der test-bettel-seite schicken...
missmarple
27.01.2008, 23:29
hi
das thema ist zwar schon etwas älter aber das macht ja nichts. das ganze ist nicht schlecht und funktioniert sogar. aber wenn man das ganze einbaut und hat in seinen admin eingestellt das der bettellink deaktiviert ist , dann kann man trotzdem betteln. wäre nicht schlecht wenn man das noch dazu reinnehmen könnte. also wenn man das betteln deaktiviert hat das es dem script auch so ist
mfg
missmarple
meigl1337
18.04.2008, 19:15
Hi, ist es auch möglich zu loggen von wem der Bettellink stammt?
Sollte es möglich sein ist das ganze gleich als Auftrag von mir zu werten. Preis ist egal, hauptsache ich finde heraus von wem die seltsamen Links stammen.
Edit: Kann mir jemand den oberen Code in die VMS1.2 bettel.php einbauen?
<?
$_GET['ref'] = (int)$_GET['ref'];
if ($pageconfig['reload_betteln'] == 0){
$betteltext = '<b>Die Bettelfunktion ist auf dieser Seite deaktiviert';
}else{
if ($_SESSION['uid'] == $_GET['ref'] || $_GET['ref'] == $_COOKIE['uid']){
$betteltext = '<b><font color="#FF0000">Du kannst dich nicht selbst anbetteln!</font></b>';
}else{
$reloadcheck = db_query("SELECT bis FROM ".$db_prefix."_reloads_betteln WHERE ip = '".$ip."' and tan = 'bettelaufruf' and bis >= ".time()." LIMIT 1");
if (!mysql_num_rows($reloadcheck)) {
$minimum = $pageconfig['min_betteln'];
$maximum = $pageconfig['max_betteln'];
srand((double)microtime()*1000000);
$bettelsumme = rand($minimum*100,$maximum*100)/100;
$new_reload = time()+$pageconfig['reload_betteln'];
db_query("INSERT INTO ".$db_prefix."_reloads_betteln (ip,uid,tan,bis) VALUES ('".$ip."','".$_GET['ref']."','bettelaufruf','".$new_reload."')");
db_query("UPDATE ".$db_prefix."_kontodaten SET angebettelt =angebettelt + 1, bv = bv + ".$bettelsumme.", kontostand = kontostand + '".$bettelsumme."' WHERE uid = '".$_GET['ref']."'");
bilanz(1000,$bettelsumme);
$betteltext = '<b>Ein Mitglied ('.$_GET['ref'].') hat durch dich gerade <font color="#FF0000">'.$bettelsumme.' '.$waehrung.' </font>verdient!</b>';
} else {
$reloadcheck = mysql_fetch_array($reloadcheck);
$betteltext = '<b>Du bist noch für '. round((($reloadcheck['bis'] - time())/60),0) .' Minuten gesperrt</b>';
}
}
}
?>
mfg
hallo schau mal bitte hier...
http://www.scripte4webbis.de/?site=details&id=194
weiß aber nciht ob es mit vms 1.2 fumktioniert..
ich hol mal was altes hoch :yes:
Hat jemand schon eine Lösung die auch funktioniert?
Die Lösung hier hat mich nicht so richtig weitergebracht und das Addon von
http://www.scripte4webbis.de/?site=details&id=194 funzt auch nicht :rant:
ich hol mal was altes hoch :yes:
Hat jemand schon eine Lösung die auch funktioniert?
Die Lösung hier hat mich nicht so richtig weitergebracht und das Addon von
http://www.scripte4webbis.de/?site=details&id=194 funzt auch nicht :rant:
Das ist bei mir schon sehr lange drinne und funktioniert einwandfrei :yes:
das gekaufte aus dem shop oder diese Sache hier?
Weil ich benötige es für 1.2.3
das gekaufte aus dem shop oder diese Sache hier?
Weil ich benötige es für 1.2.3
Das gekaufte aus den shop...
ich habe zwar das 1.1 aber kann mir nicht vorstellen warum es unter 1.2 nicht auch gehen sollte.
sollte eigentlich,aber tut´s nicht.
Laut Anleitung:
Die Datei /content/betteln.php öffnen und folgende Änderungen vornehmen:
// SecVMS change begin
$_GET['ref'] = (int)$_GET['ref'];
// SecVMS change end
danach einfügen blablabla
bei mir steht aber lediglich
$_GET['ref'] = (int)$_GET['ref'];dann hab ich aber trotzdem danach den Code eingefügt.
Am Ende der Änderungen kommt dann der Fehler:
Parse error: syntax error, unexpected $end in /var/www/vhosts/lose-bettler.de/httpdocs/content/betteln.php on line 69 :eek::eek:
sollte eigentlich,aber tut´s nicht.
Laut Anleitung:
Die Datei /content/betteln.php öffnen und folgende Änderungen vornehmen:
// SecVMS change begin
$_GET['ref'] = (int)$_GET['ref'];
// SecVMS change end
danach einfügen blablabla
bei mir steht aber lediglich
$_GET['ref'] = (int)$_GET['ref'];dann hab ich aber trotzdem danach den Code eingefügt.
Am Ende der Änderungen kommt dann der Fehler:
Parse error: syntax error, unexpected $end in /var/www/vhosts/lose-bettler.de/httpdocs/content/betteln.php on line 69 :eek::eek:
hast du auch die schleife mit } geschlossen?
wenn du es nicht hin bekommst kannst du dich mal eben im icq melden dann schaue ich mir das mal an
hab dich geaddet in ICQ :wink:
Somit geht es bei plati nun auch :smile:
jawohl,ich bedanke mich :thumb:
Tommyzero
16.05.2009, 19:13
kann keine seite eintragen oder sehen wo der bettler her kommt -.- hab vmx 1.2
kann keine seite eintragen oder sehen wo der bettler her kommt -.- hab vmx 1.2
Hast du den SQL Code auch erfolgreich in deine Datenbanl ausgeführt.
Tommyzero
16.05.2009, 20:30
ja hatte ich
ich hol mal was altes hoch :yes:
Hat jemand schon eine Lösung die auch funktioniert?
Die Lösung hier hat mich nicht so richtig weitergebracht und das Addon von
http://www.scripte4webbis.de/?site=details&id=194 funzt auch nicht :rant:
Hat zu diesem Addon jemand eine Idee woran es liegen kann das bei einem User keine Logs angezeigt werden?
Es hat sich heute morgen ein User angemeldet und bisher knapp über 80 Aufrufe,aber kein Log zu sehen von ihm egal wie und was ich eingebe.
Oder fakt er irgendwie so speziell das das Teil nix anzeigt ?
Besucher770
02.06.2009, 21:05
wenn ich die betteln.php so einbaue, wir hier beschrieben, dann bekomme ich immer den folgenden Fehler:
Warning: mysql_affected_rows(): supplied argument is not a valid MySQL-Link resource in .../content/betteln.php on line 13
wenn ich die betteln.php so einbaue, wir hier beschrieben, dann bekomme ich immer den folgenden Fehler:
dann schaue mal in die datenbank ob dort die tabelle vms_bettelreferrercheck
ordnungsgemäß eingetragen ist.
Hat zu diesem Addon jemand eine Idee woran es liegen kann das bei einem User keine Logs angezeigt werden?
Es hat sich heute morgen ein User angemeldet und bisher knapp über 80 Aufrufe,aber kein Log zu sehen von ihm egal wie und was ich eingebe.
Ist eigentlich nicht so ganz möglich da ja die kontobuchung und der eintrag in die Bettel-Logs in der Selben schleife ist.
ja,ich hab Bockmist gebaut weil ich noch was einbauen wollte,hab aber die Datei nicht gesichert :frusty:
Weisst du zufällig noch was du gemacht hast letztens über ICQ und könntest du mir die Datei nochmal schicken ?
ja,ich hab Bockmist gebaut weil ich noch was einbauen wollte,hab aber die Datei nicht gesichert :frusty:
Weisst du zufällig noch was du gemacht hast letztens über ICQ und könntest du mir die Datei nochmal schicken ?
Ja wissen tue ich es nur ich habe keine datei mehr...wenn du dich heute nachmittag aber mal im icq meldest kann ich mir das anchauen.
bin den Tag über zuhause,richte mich ganz nach dir :thumb:
gggggggggrrrrrrrrr,könnte mir eventuell jemand eine umgebaute bettel.php vom VMS 1.2.3 mit der Bettellink Seiten- und Usersperre zukommen lassen oder eventuell die bettel.php umbauen ?
Schön blöd wenn man nix sichert bevor man eine neue Version aufspielt :frusty::frusty:
hat keiner Erbarmen mit mir? :biggrin1::biggrin1:
tip
schreib mal joschi(lokutus oder so) worka oder sebmaster an , die haben ahnung
DimpleX
tip
schreib mal joschi(lokutus oder so) worka oder sebmaster an , die haben ahnung
DimpleX
Solangs nicht Lokus ist ist alles richtig :biggrin1:
Meld dich mal bei mri via skype dan bau ich dir deinen bettellink nach deinen wünschen um Preislich naja mal gugen (bin guter laune mein kontostand wurd gestern um ne milliarde reicher:biggrin1:)
meld dich am besten via skype(joel.kuder)
So dan hat sich das ja gelohnt fehler beseitigt und n zufriedener kunde:biggrin1:
Hallo gibst sowas auch für VMS 1.2.4 ?
MfG
D.SToll
Hallo gibst sowas auch für VMS 1.2.4 ?
MfG
D.SToll
Variante eins
Bei mir melden
Variante zwei
http://shop.paid-4.ch/?site=details&id=9
(Noch nicht getestet funktioniert aber zu 99.999% und wenn nicht passe ich es dir kostenlos an.
Zockervogel
31.10.2009, 21:23
hallo schau mal bitte hier...
http://www.scripte4webbis.de/?site=details&id=194
weiß aber nciht ob es mit vms 1.2 fumktioniert..
DAS habe ich mir jetzt geholt. Habe den Link auf einer meiner Seiten eingebaut und ausgeloggt (ohne Cookies) geklickt. Ich bekomme da immer kein Referer und somit keine Gutschrift. Ich nutze die neue VMS-Version 1.2.4. Was habe ich da falsch gemacht ? (ich weiß... keine Glaskugel)
didith1207
31.10.2009, 21:49
wenn du ausgeloggt bist und kein cookie vorhanden ist hast du auch keinen refferer bzw von der eigenen url wird nicht vergütet...
einen refferer hast du nur wenn du von einer anderen seite kommst
Zockervogel
31.10.2009, 22:32
danke, da habe ich wohl einen Denkfehler gehabt :-)
Dann wird das wohl alles laufen... mal schaun wenn ich die Seite dann "scharf" stelle :-)
PS. funktioniert natürlich !! (habe es mal über einen Besuchertausch getestet und somit gleich zwei Tests gemacht)
...zitat start...
hallo schau mal bitte hier...
http://www.scripte4webbis.de/?site=details&id=194
weiß aber nciht ob es mit vms 1.2 fumktioniert..
...zitat ende...
_Habbe auch dieses addon installiert und es funtioniert alles auser die anzeige woher die klick kammen. sprich die klammid des users steht da aber nicht der referer was habe ich falsch gemacht? kann mir vill jemand helfen?
Vermutlich enthält die Tabelle vms_bettel_logs in der Spalte referrer keine Werte?
Dann lässt du entweder auch Aufrufe ohne Referer zu, indem Fall kann ja nix gespeichert werden (aber einige Einträge sollten dennoch diesen Wert enthalten),
oder der Einbau ist nicht ganz richtig in der betteln.php
ich glaube das müsste so aussehen:
db_query("INSERT INTO ".$db_prefix."_bettel_logs (uid,referrer,host,path,query) VALUES ('".$_GET['ref']."','".$url."','".$host."','".$path."','".$fquery."')");
Bin mir aber nicht sicher ob es genau das Addon ist.
Kraemer84
20.06.2010, 15:33
Kann mal einer nicht den kompletten neuen Code für das Vms1.2.4 posten ??? ich mag hier net alle anschreiben weil hab selbe fehlermeldung ...
Warning: mysql_affected_rows(): supplied argument is not a valid MySQL-Link resource in /var/www/webxxx/html/content/betteln.php on line 43
Vermutlich enthält die Tabelle vms_bettel_logs in der Spalte referrer keine Werte?
Dann lässt du entweder auch Aufrufe ohne Referer zu, indem Fall kann ja nix gespeichert werden (aber einige Einträge sollten dennoch diesen Wert enthalten),
oder der Einbau ist nicht ganz richtig in der betteln.php
ich glaube das müsste so aussehen:
db_query("INSERT INTO ".$db_prefix."_bettel_logs (uid,referrer,host,path,query) VALUES ('".$_GET['ref']."','".$url."','".$host."','".$path."','".$fquery."')");Bin mir aber nicht sicher ob es genau das Addon ist.
Mal wieder lebendig mach...
Das Problem besteht ja weiterhin, wie kann man das noch lösen, dann auch die Herkunft in die DB eingetragen wird?
Die Klamm ID wird ja eingetragen, nur der Rest nicht....und bevor ich haue vom Shop Betreiber bekomme, zwecks mangelnder Geduld; ich eröter das hier, damit für andere oder spätere Nutzer eine möglich und brauchbare Lösung vorhanden sein wird ;)
LG
Vermutlich nur ein Einbaufehler, gehe nochmal die Installation durch ...
Vermutlich nur ein Einbaufehler, gehe nochmal die Installation durch ...
Unwahrscheinlich.
Bin das sogar 2 mal durch gegangen. dimek87 hat ja genau das gleiche Problem.
Der Teil für die Herkunft, scheint nicht an die DB übergeben zu werden, warum auch immer...die K ID geht dafür in die DB.
Gern schick ich dir die Datei auch zu^^
LG
Nee danke wenn du da hilfe brauchst dann kannst du dich gerne an den Progger oder Shopbetreiber wenden.
HI. Ich benutze auch vms 1.2.4 und ich hab auch immer ne fehlermeldung in zeile 72, weiß nicht woher das kommt.
Hat nicht jemanden den kompletten Quellcode für das vms 1.2.4??
Danke im vorraus.
Patrick
Chrissi01
31.01.2011, 13:33
Mal eine Frage, hat jetzt jemand eine funktionsfähige Version für zum Beispiel VMS 1.2.3. ?
Das Grundscript (hier zum download) setzt bei mir keine 1 für Domain gesperrt.
Würde auch gerne soetwas kaufen.
Gruß
Chrissi01
Ich habe das ganze gestern installiert und es funzt wunderbar!
Vielleicht hilft Dir mein Screenshot weiter!
http://www.thewoman.de/v/files/images/scree.jpg
Sidor
DJschatz27
18.06.2011, 02:36
Als erstes brauchen wir ein Tabelle in der datenbank:
CREATE TABLE vms_bettelreferrercheck (
url_md5 varchar(32) NOT NULL default '',
url varchar(255) NOT NULL default '',
hits int(10) NOT NULL default '0',
an_aus tinyint(2) NOT NULL default '0',
PRIMARY KEY (url_md5),
KEY hits (hits),
KEY url (url)
) TYPE=MyISAM;
dann müssen wir die bettelseite abändern.( bitte vorher eine Kopie von der bettelseite machen falls man die alte Bettelseite wieder nutzen will).
zum abändern /content/betteln.php öffnen und den gesamten inhalt ersetzen mit folgenen inhalt:
<?
// SecVMS change begin
$_GET['ref'] = (int)$_GET['ref'];
$bettelreferrer = $_SERVER["HTTP_REFERER"];
$bettelreferrer_array = parse_url($bettelreferrer);
$bettelhost = $bettelreferrer_array["host"];
$update_query = db_query(sprintf("update vms_bettelreferrercheck set hits=hits+1 where url_md5='%s'"
, addslashes(md5($bettelhost))
));
if ( mysql_affected_rows($update_query) == 0 ) {
db_query(sprintf("INSERT INTO vms_bettelreferrercheck (url_md5,url,hits,an_aus) VALUES ('%s','%s','1','0')",
addslashes(md5($bettelhost)),
addslashes($bettelhost)
));
}
// SecVMS change end
$bettelrefdaten = mysql_fetch_array(db_query(sprintf("SELECT * FROM vms_bettelreferrercheck where url= '%s'"
, $bettelhost
)));
if ($bettelrefdaten['an_aus'] == '0') {
$reloadcheck = db_query("SELECT * FROM ".$db_prefix."_reloads WHERE ip = '".$ip."' and tan = 'bettelaufruf' and bis >= '".time()."'");
if (!mysql_num_rows($reloadcheck)) {
$minimum = $pageconfig['min_betteln'];
$maximum = $pageconfig['max_betteln'];
srand((double)microtime()*1000000);
$bettelsumme = rand($minimum*100,$maximum*100)/100;
// Reload setzen und Umsätze schreiben
$new_reload = time()+$pageconfig['reload_betteln'];
db_query("INSERT INTO ".$db_prefix."_reloads (ip,uid,tan,bis) VALUES ('".$ip."','".$_GET['ref']."','bettelaufruf','".$new_reload."')");
db_query("UPDATE ".$db_prefix."_kontodaten SET angebettelt =angebettelt + 1, bv = bv + ".$bettelsumme." WHERE uid = '".$_GET['ref']."'");
bonuslose ('+',$bettelsumme,$_GET['ref']);
$betteltext = '<b>Du hast für den User '.$_GET['ref'].' gerade '.$bettelsumme.' Bonuslose erbettelt!</b>';
} else {
$reloadcheck = mysql_fetch_array($reloadcheck);
$betteltext = '<b><font color="#FF0000">Du bist noch für '. round((($reloadcheck['bis'] - time())/60),0) .' Minuten fürs Betteln gesperrt</font></b>';
}
} else {
$betteltext = '<b><font color="#FF0000">Kein Referrer übergeben oder Eigenklicks oder Referrer gesperrt</font></b>';
}
?>
<?head("Betteln auf OOOOHPS-LOSE");?>
Verdiene auch Du mit!<br>
Melde Dich bei <?=$seitenname;?> an und bewirbe Deinen persönlichen Bettellink, so
verdienst Du deine <?=$waehrung;?> fast wie im Schlaf!<br>
<br>
<div align="center"><?=$betteltext;?></div>
<?foot();?>
<?head("Werbung dieser Seite");
$filename = 'lib/texte/bettelwerbung.txt';
$fp = fopen ($filename, "r");
$inhalt = fread ($fp, filesize ($filename));
fclose ($fp);
$inhalt = str_replace('\\', '', $inhalt);
echo nl2br($inhalt);
foot();?>
dann die betteln.php wieder hochladen. jetzt wüssten schon die referer geloggt werden.
Jetzt zum admin bereich dazu müssen wir eine seite basteln die bettelreferrercheck.php heist.
hier diesen inhalt reinsetzen:
<?
if($_POST["update"]){
db_query(sprintf("UPDATE vms_bettelreferrercheck SET an_aus = '%s' where url_md5='%s'"
, $_POST['an_aus']
, $_POST['url_md5']));
}
if($_POST["delete"]){
db_query(sprintf("DELETE FROM vms_bettelreferrercheck where url_md5='%s'"
, $_POST['url_md5']
));
echo $_POST['url_md5'];
db_query("OPTIMIZE TABLE vms_bettelreferrercheck");
}
$bettelrefdaten = mysql_fetch_array(db_query("SELECT * FROM vms_bettelreferrercheck"));
head("Urls Sperren"); ?>
<center><br>
<font size="3"><b>Url Sperren</font>
<table border="1">
<tr><form action="" method="POST">
<td><b>Url MD5:
</td>
<td align="center"><input type="text" name="url_md5" value="">
</td>
</tr>
<tr>
<td><b>an_aus:
</td>
<td align="center">
<select name="an_aus" size="1">
<option value="" SELECTED>wählen</option>
<option value="0">An</option>
<option value="1">Aus</option>
</select>
</td>
</tr>
<tr>
<td align="center" colspan="2"><input type="submit" name="update" value="Eintragen">
</td>
</tr>
</form></table>
<br>
<? foot();?>
<? head("Urls löschen"); ?>
<center><br>
<font size="3"><b>Url Löschen</font>
<table border="1">
<tr><form action="" method="POST">
<td><b>URL MD5:
</td>
<td align="center"><input type="text" name="url_md5" value="">
</td>
</tr>
<tr>
<td align="center" colspan="2"><input type="submit" name="delete" value="Löschen">
</td>
</tr>
</form></table>
<br>
<? foot();?>
<?head("Werbung die eingetragen ist");?>
<table align="center" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFC0" width='450'>
<tr bgcolor="#FFFFC0">
<td align="center"><b>URL MD5</b></td>
<td align="center"><b>URL</b></td>
<td align="center"><b>HITS</b></td>
<td align="center"><b>An/Aus</b></td>
</tr>
<?
$query = db_query("SELECT * FROM vms_bettelreferrercheck ORDER by hits DESC");
while ($row = mysql_fetch_array($query)) {
?>
<tr bgcolor="#FFFFC0">
<td align="center"><? echo $row["url_md5"];?></td>
<td align="center"><a href="http://<? echo $row["url"];?>/" target="_blank"><? echo $row["url"];?></a></td>
<td align="center"><? echo number_format($row["hits"],0,",",".");?></td>
<td align="center"><? echo $row["an_aus"];?></td>
</tr>
<?
}
?>
</table>
<? foot();?>
jetzt haben wir unsere bettelreferrercheck.php und laden die unter adminforce/content/ auf dem server.
jetzt setzen wir noch einen link im adminmenue:
» <a href="?content=/bettelreferrercheck">Bettelcheck</a>
dann sieht das so aus im adminbereich:
http://lose.oooohps.de/images/bettelreferer.gif
jetzt kann man urls sperren 0 ist an und 1 ist aus. schaltet man eine url aus wird der bettelaufruf nicht mehr bezahlt und der user bekommt folgende meldung.
Kein Referrer übergeben oder Eigenklicks oder Referrer gesperrt.
Ist die url nicht gesperrt (0) bekommt der user ganz normal die vergütung.
Alle refferurls sind anklickbar das man die seiten kontrollieren kann.
Ich garantiere nicht das es bei jedem funktioniert der einbau und die nutzung ist auf eigene gefahr. Das Tool wurde von mir geproggt und ist schon seit tagen im einsatz und funktioniert bei mir ohne Fehler.
Viel spass
Guten Morgen eine frage gibts es schon eine lösung wie man urls sperren kann????
Tommyzero
19.06.2011, 16:28
Mal so als zwischen frage da ja bei den sponsoren doch nicht alle länder vergütet werden hat eigendlich jemand beim betteln eine ländercontrolle ?
Mal so als zwischen frage da ja bei den sponsoren doch nicht alle länder vergütet werden hat eigendlich jemand beim betteln eine ländercontrolle ?
Japp, dazu gibt es ein Thread:
http://www.designerscripte.net/showthread.php?t=9789
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.