So, ich war wieder mal dran und hab mir da was einfallen lassen.
Die Tools klicken ja praktisch alleine. Rufen die klick Dateien in mehr oder weniger Regelmäßigen Abständen auf.
Soweit, so gut.
Was aber, wenn ich einen Verdächtigen für den Klickbereich sperre, ihm im Hinweiß Text sage er soll sich kurz beim Support melden und die Aufrufe der Datei in der Zwischenzeit einfach mit logge. Daran sollte sich ja erkennen lassen ob da ein Script arbeitet oder ein User davor sitzt der liest.
Inspiriert hat mich dazu der Thread:
http://designerscripte.net/showthread.php?t=13868
(wovon ich auch Teilweise übernommen hab)
Die Tabelle:
PHP-Code:
CREATE TABLE IF NOT EXISTS `vms_klickcheck` (
`uid` int(7) NOT NULL default '0',
`anzahl` int(7) NOT NULL default '0',
`zeit` int(11) NOT NULL default '0',
`datei` varchar(100) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Die nötigen Änderungen in den Scripten:
/adminforce/content/usersystem/klickuser.php: (gehört zu dem Addon: http://www.vms-shop.de/?site=details&id=117 Automtische Klicksperre für Ausländische IP´s VMS1.2.X )
suche:
PHP-Code:
<option value="0" <?if ($alledaten['status'] == 0) echo'SELECTED';?>>Wartend</option>
<option value="1" <?if ($alledaten['status'] == 1) echo'SELECTED';?>>Freigeschaltet</option>
und füge dahinter:
PHP-Code:
<option value="2" <?if ($alledaten['status'] == 2) echo'SELECTED';?>>Admin Prüfung</option>
ein.
in allen Dateien in denen die Klickbereichsperrung abgefragt wird (klick4.php, paidmails.php, easy-inbox.php, /ajax/forced_load.php, etc.)
Suche:
PHP-Code:
if ($usr['klicksperrung'] 1= ''){
und ersetze das mit:
PHP-Code:
if ($usr['klicksperrung'] == '2'){
db_query("INSERT INTO vms_klickcheck (uid,anzahl,zeit,datei) VALUES ('".$_SESSION['uid']."','1','".time()."','".$_SERVER["PHP_SELF"]."/".$_SERVER['QUERY_STRING']."')");
echo'<center><b>
Du wurdest zwecks Prüfung auf die Verwendung von Klicktools für den Klickbereich gesperrt.<br>
Bitte melde dich kurz per Support bei eben diesen.<br>
<a href="http://www.deinedomain.de/index.php?content=/intern/support">Support</a><br>
Sorry aber bei den immer besser werdenden Tools bleibt nichts anderes übrig als Manuell zu prüfen.<br>
Wird die Datei während der Sperre zu oft aufgerufen und erfolgt keine Support Nachricht bleibt die Sperre bestehen.<br>
Ehrliche User haben die wirklich klicken haben da ja nichts zu befürchten.
</b>
</center>
<br><br>
</td></tr></table>';
} elseif ($usr['klicksperrung'] != '1'){
So, im Adminforce legt man dann noch eine Datei mit dem Inhalt:
PHP-Code:
<?head('<center>Faker?');?>
<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="25%"><font color="black"><b>Nickname</b></td>
<td align="center" width="5%"><font color="black"><b>Klicks</b></td>
<td align="center" width="25%"><font color="black"><b>Dateiname</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 uid, 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" width="10%"><a href="/adminforce/?content=/usersystem/userbearbeiten&uid='.$wo1['uid'].'">'.$wo1['uid'].'</a></td>
<td align="center" width="15%"><a href="/adminforce/?content=/usersystem/userbearbeiten&uid='.$wo1['uid'].'">'.$nick['nickname'].'</a></td>
<td align="center" width="5%">'.number_format($wo1[anzahl],0,",",".").'</td>
<td align="center" width="25%">'.$wo1[datei].'</td>
<td align="center" width="30%">'.date("d.m.Y - H:i:s",$wo1[zeit]).'</td>
</tr>
';
}
?>
</table>
<?foot();?>
Wie ich schon angemerkt hab, habe ich mich durch den anderen Thread inspirieren lassen und halt auch was davon übernommen.
So, und hier für alle die das Original VMS ohne Änderungen verwenden (hier ist kein Fremd Addon nötig):
userbarbeiten.php:
Suche nach:
PHP-Code:
<option value="1" <?if ($alledaten['status'] == 1) echo'SELECTED';?>>Freigeschaltet</option>
<option value="2" <?if ($alledaten['status'] == 2) echo'SELECTED';?>>Gesperrt</option>
danach ein:
PHP-Code:
<option value="3" <?if ($alledaten['status'] == 3) echo'SELECTED';?>>Admin Prüfung</option>
functions.lib.php:
Suche nach:
PHP-Code:
} else {
@include_once('content/error/kein_zutritt.php');
@include_once('lib/footer.php');
die();
}
davon ein:
PHP-Code:
$status = $login_check['status'];
danach ein:
PHP-Code:
return $status;
aber noch vor dem letzten } der Funtkion.
session.lib.php:
Suche nach:
PHP-Code:
if ($login_check['status'] == 1 ) {
ersetze durch:
PHP-Code:
if ($login_check['status'] == 1 || $login_check['status'] == 3 ) {
klick4.php
Suche nach:
ersetze durch:
PHP-Code:
$status = userstatus ();
nach:
PHP-Code:
head ('Paidbanner');
aber vor:
PHP-Code:
$usr = mysql_fetch_assoc (db_query ('SELECT max_forced FROM '.$db_prefix.'_userdaten WHERE uid = '.$_SESSION['uid'].' LIMIT 1'));
das einfügen:
PHP-Code:
if ($status == '3'){
// Der Nachfolgende Text wird den User Angezeigt wenn er gesperrt worden ist. Dieser kann natürlich beliebig verändert werden!
db_query("INSERT INTO vms_klickcheck (uid,anzahl,zeit,datei) VALUES ('".$_SESSION['uid']."','1','".time()."','".$_SERVER["PHP_SELF"]."/".$_SERVER['QUERY_STRING']."')");
echo'<center><b>
Du wurdest zwecks Prüfung auf die Verwendung von Klicktools für den Klickbereich gesperrt.<br>
Bitte melde dich kurz per Support bei eben diesen.<br>
<a href="http://www.hobbylose.de/index.php?content=/intern/support">Support</a><br>
Sorry aber bei den immer besser werdenden Tools bleibt nichts anderes übrig als Manuell zu prüfen.<br>
Wird die Datei während der Sperre zu oft aufgerufen und erfolgt keine Support Nachricht bleibt die Sperre bestehen.<br>
Ehrliche User haben die wirklich klicken haben da ja nichts zu befürchten.
</b>
</center>
';
} else {
vor dem:
muss noch ein
eingefügt werden.
Die Datei für den Adminforce kann von oben verwendet werden
Viel Spaß damit
Marc