30sek Such-Sperre

[kamui]
Titel: 30sek Such-Sperre
Version: 1.0
Beschreibung: 30sek Such-Sperre
by Martin Rehberger

Hinweis
Das Passwort für das .zip-Verzeichnis lautet: " www.martin-rehberger.com " (ohne " und ")

Martin Rehberger übernimmt keine Haftung bei evtl. Schäden oder sonstigem, verursacht durch diese Modifikation. Da diese Modifikation kostenlos Angeboten wird, hat der Konsument keinen Anspruch auf Support, Einbauhilfe o.Ä..

Dieses AddOn darf nur auf folgender Seite angeboten werden:
y******.de
Sollten Sie diese Modifikation auf einer anderen Seite zum Download finden, kontaktieren Sie mich bitte.

Was bewirkt dieser Hack?
Nach Einbau dieser Modifikation kann ein User nur alle 30 Sekunden die wBB-interne Suche benutzen. Gerade bei Foren mit vielen Mitgliedern ist diese Modifikation zur Verringerung des Traffics sinnvoll und ratsam.
Sollte ein Mitglied trotzdem versuchen vor diesen 30 Sekunden die Such-Seite aufzurufen, wird ihm die wBB-Standard-Fehlerseite angezeigt.

Nach einer Idee von Master-X* und [kamui].
----


weiter zum Download

ERWEITERUNG

Falls der User nicht auf die "Kein Zugriff"-Seite, sondern auf ein eigenes Template weitergeleitet werden soll, ersetzen Sie
Zitat:
access_error();

durch ("NAME_DES_TEMPLATES" kann ein freier Name sein, Template muss über ACP angelegt sein)
Zitat:
eval("\$tpl->output(\"".$tpl->get("NAME_DES_TEMPLATES")."\");");

in der Anleitung
BlackBurn2710
ich sag mal so, wenn ich die stelle einbaue.
und dann auf search.php gehen.

dann sagt der mir ich habe keine rechte im das zu betreten.
also irgendwie stimmt das net....
[kamui]
Also bei mir funktionierts.

Wenn du aber in den 30sek davor schon eine Suchanfrage gestellt hast, kommst du auf die access_error-Seite.
Fishy64
das müsste anders gelöst werden, nicht auf die Errorseite, das kann leicht verwirren, besser wäre ein warnhinweisalert, das man erst in 30 sek wieder die suche benutzen kann.
[kamui]
Du magst recht haben, aber ich wollte den Hack einfach zu bedienen & einzubauen haben, daher fand ich es so besser - sonst hätte man ein neues Template + SprachVar anlegen müssen Augenzwinkern
Fishy64
wäre dann aber eine feine Sache und dann das ganze nur bei gästen
Synapse
Hätte auch Interesse aber wenn dann müsste es auf ne eigene Fehlerseite leiten sonst sorgt das nur für Verwirrung.

Gruß Stephan
[kamui]
Zitat:
[
ERWEITERUNG

Falls der User nicht auf die "Kein Zugriff"-Seite, sondern auf ein eigenes Template weitergeleitet werden soll, ersetzen Sie
Zitat:
access_error();

durch ("NAME_DES_TEMPLATES" kann ein freier Name sein, Template muss über ACP angelegt sein)
Zitat:
eval("\$tpl->output(\"".$tpl->get("NAME_DES_TEMPLATES")."\");");

in der Anleitung


eben hinzugefügt

PS: es gibt hier auf Y****** eine Anleitung, wie man eigene Seiten erstellt, dort wird auch erklärt, wie man Templates erstellt
Synapse
Hi,

bei mir zeigt die Sperre absolut keine Wirkung, egal für welche Benutzergruppe.

Hat jemand ne Idee woran das liegen kann ?

Gruß Stephan
[kamui]
Schau dir die Installationsschritte noch einmal an, bist du sicher, dass du es richtig installiert hast?
Synapse
Ja 100% sicher.

Es sind ja nur die paar Zeilen die in die search.php eingefügt werden müssen oder gibt es noch irgendwas außerhalb der 3sek-such-sperre.txt was geändert werden muss.

Gruß Stephan
[kamui]
Kannst du mal deine search.php anhängen?
Synapse
Wenn du alles brauchst sag mit bitte deine Mailadresse dann schick ich sie dir zu:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
		$db->query("INSERT INTO bb".$n."_searchs (searchhash,searchstring,searchuserid,postids,showposts,sortby,sortorder,searchtime,userid,ipaddress)
		VALUES ('".getQueryHash($savepostids, $_POST['showposts'], $_POST['sortby'], $_POST['sortorder'], $wbbuserdata['userid'], $REMOTE_ADDR)."','".addslashes($tempsearchstring)."','".((!strstr($userids, ',')) ? (intval($userids)) : (0))."','$savepostids','".intval($_POST['showposts'])."','".addslashes($_POST['sortby'])."','".addslashes($_POST['sortorder'])."','".time()."','$wbbuserdata[userid]','$REMOTE_ADDR')");
		$searchid = $db->insert_id();
		header("Location: search.php?searchid=$searchid".$SID_ARG_2ND_UN);
		exit();
	}
	else {
         /* 30 Sekunden Such-Sperre ... by MARTIN-REHBERGER.COM */
    $sekunden = 30;
    $query = $db->query("SELECT * FROM bb".$n."_searchs WHERE userid = '".$wbbuserdata['userid']."' AND searchtime > ".floor(time()-$sekunden)."");
    if (mysql_num_rows($query) > 0) {
      access_error();
      exit;
    }
    /* 30 Sekunden Such-Sperre ... by MARTIN-REHBERGER.COM */
		$prefixBoardCache = array();
		$result = $db->unbuffered_query("SELECT boardid, parentid, boardorder, title, invisible, prefixuse, prefix FROM bb".$n."_boards WHERE externalurl = '' ORDER by parentid ASC, boardorder ASC");
		while ($row = $db->fetch_array($result)) {
			if ($row['prefixuse'] > 1 && $row['prefix'] != '') {
				$prefixBoardCache[] = $row;
			}

			$boardcache[$row['parentid']][$row['boardorder']][$row['boardid']] = $row;
		}

		$permissioncache = getPermissions();
		$board_options = makeboardselect(0);