- Home
- Categorie
- Coding e Sistemistica
- Gestione di Forum
- Come eliminare lo Spam con vBulletin
-
Come eliminare lo Spam con vBulletin
ChriStrato admin di vbulletinitalia.it ha messo a punto una MOD su come evitare lo spam sul forum. Bastano poche modifiche e il gioco è fatto, ecco come operare:
Screenshot:
Come puoi vedere blocca tutti e due i modi di mettere gli url! nel mio esempio "www.vbulletinitalia.it" è il mio indirizzo, quindi valido!
Bando alle ciance iniziamo:- Edita il template "pm_newpm" e cerca al suo interno:
[php]<if condition="$show['parseurl']"><div><label for="cb_parseurl"><input type="checkbox" name="parseurl" value="1" id="cb_parseurl" tabindex="1" $checked[parseurl] />$vbphrase[automatically_parse_links_in_text]</label></div></if>[/php]e sostituisci con:
[php]<input type="hidden" name="parseurl" value="1" id="cb_parseurl" tabindex="1" />[/php]In questo modo non potranno deselezionare l'opzione: "Traduci automaticamente i link nel testo",
così che anke se mettono indirizzi senza il bbcode , l'indirizzo verrà automaticamente convertito in bbcode e beccato dall'antispam- Ora aggiungi un nuovo plugin e usa queste opzioni:
Prodotto: vBulletin
Ubicazione: private_insertpm_process
Titolo: Blocca SPAM PM (o quello che vuoi tu)
Ordine eseguito: 5
Codice PHP Plugin:[php]$messantispam = "NO SPAM IN QUESTO FORUM"; // Messaggio che sostituisce l'indirizzo di spam
$validurl = "www.metal-forever.it"; // Ex: www.google.com$message = strtolower($vbulletin->GPC['message']);
if ($expurl = explode("", $message))
{
$counturl = count($expurl);for($a = 1;$a < $counturl;$a++) { $expendurl = explode("", $expurl[$a]); preg_match("/^(http:\/\/)?([^\/].+)/i", $expendurl[0], $matches); if (strripos($matches[2], $validurl) === false) { $vbulletin->GPC['message'] = str_ireplace($matches[2], $messantispam, $vbulletin->GPC['message']); } } }
$expexturl = explode("[url="", $message);
$countexturl = count($expexturl);
for($b = 1;$b < $countexturl;$b++)
{
$expexturlin = explode(""]", $expexturl**);preg_match("/^(http:\/\/)?([^\/].+)/i", $expexturlin[0], $matches); if (strripos($matches[2], $validurl) === false) { $vbulletin->GPC['message'] = str_ireplace($matches[2], $messantispam, $vbulletin->GPC['message']); } $expexturlend = explode("", $expexturlin[1]); preg_match("/^(http:\/\/)?([^\/].+)/i", $expexturlend[0], $matches); if (strripos($matches[2], $validurl) === false) { $vbulletin->GPC['message'] = str_ireplace($matches[2], $messantispam, $vbulletin->GPC['message']); } } [/php]Come puoi vedere le prime due righe del codice php sono commentate, sono le uniche due che devi modificare,
nella prima riga
[php]$messantispam = "NO SPAM IN QUESTO FORUM"; // Messaggio che sostituisce l'indirizzo di spam [/php]sostituisci "NO SPAM IN QUESTO FORUM" con la frase che ti è + congeniale
mentre nella seconda riga:
[php]$validurl = "www.vbulletinitalia.it"; // Ex: www.google.com [/php]metti il tuo url (senza http:// iniziale e / finale), il www. dipende se il tuo dominio ne fa uso o meno, se il tuo url inizia x www. allora mettilo, sennò lo puoi anche omettere!
Questo è tutto, provatelo e fatemi sapere. Intanto auguro un Buon anno a tutti Voi
Enzo Webmaster
-
Grazie Enzo, interessante modifica.
Quindi, in pratica, per autorizzare un url bisogna aggiungerla a:
$validurl = "www.vbulletinitalia.it"; // Ex: www.google.com
Quindi volessi autorizzarne diverse come dovrei inserire l'istruzione?
Grazie.
-
Certamente. Devo dire che pur essendo giovane ChriStato è davvero in gamba, sta preparando delle cose egregie. Una chat e la modifica dello shoutbox da parte del pannello admin, insomma il nostro Staff sta lavorando sodo e tra breve(15 gg al massimo) è pronta la versione FULL di vBulletin 3.7.0, comunque aspetto quella GOLD per darla in "pasto" agli altri utenti. Ciao e Buon Anno a tutti Voi.
-
complimenti!
-
Ok, però ho bisogno di conoscere la stringa esatta per inserire più di un sito da escludere dalla restrizione
-
-
E fin quì ci siamo, ma se volessi rendere valide più url come li inserisco più indirizzi?
Mettiamo che voglia inserirne 10 di autorizzati, come sarà il codice?
Grazie.
-
Continua in quella stringa. Ciao
-
Perfetto, quindi basta separarle col punto e virgola.
Grazie