- Home
- Categorie
- Coding e Sistemistica
- CMS & Piattaforme Self-Hosted
- Come eliminare lo Spam con vBulletin
- 
							
							
							
							
							Come eliminare lo Spam con vBulletinChriStrato 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 