Joomla.it Forum

Non solo Joomla... => Sicurezza => : claudiosettantatre 20 May 2009, 18:44:00

: [RISOLTO] Rifiutare registrazione utente, che usa email temporanea
: claudiosettantatre 20 May 2009, 18:44:00
Ciao a tutti,
incomincio con il ringraziare tutti gli utenti che partecipano a questo forum, grazie a loro ho risolto un sacco di problemi senza mai rompervi le balle.
Ora però il problema è un pò più complesso, e non sono riuscito a risolverlo neppure come mia consuetudine, googlando per la rete, così mi sono registrato e vi espongo il problema direttamente.
Vorrei impedire la registrazione, agli utenti che utilizzano email temporanee, tipo temporaryinbox.com, mailinator.com etc...
E' possibile inserire da qualche parte questi domini come "Non graditi"? oppure c'è in giro qualche mod che già lo faccia?

Grazie
Claudio
: Re:Rifiutare registrazione utente, che usa email temporanea
: 56francesco 20 May 2009, 20:02:56
impedire la resistrazione no, non saprei ma con il componente joomlawatchs  puoi bannare gli ip e dopo un po non ci pensi più se sono sempre gli stessi...
: Re:Rifiutare registrazione utente, che usa email temporanea
: claudiosettantatre 21 May 2009, 00:46:30
riguardo ad ip non graditi ho già provveduto a bannare diverse classi direttamente a livello di .htaccess, tutta roba thai e qualche provider bulgaro e turco, tuttavia questo ultimo genere di "Scocciatore" potrebbe essere potenzialmente un italiano con ip dinamico, quindi bannare classi di ip di provider italiani mi farebbe rischiare di tagliare fuori qualche utente che non centra nulla.
Non so...pensavo qualche cosa anche a livello di smtp, magari la registrazione avviene ma il mail server non invia l'email...

...dimenticavo, sono hostato su aruba...


: Re:Rifiutare registrazione utente, che usa email temporanea
: 56francesco 21 May 2009, 07:57:49
tuttavia questo ultimo genere di "Scocciatore" potrebbe essere potenzialmente un italiano con ip dinamico,
ahahha
allora risolvi subito con una registrazione a pagamento...
scherzo ma non tanto poi,

sposto nella sezione giusta
: Re:Rifiutare registrazione utente, che usa email temporanea
: claudiosettantatre 21 May 2009, 08:13:57
ahahha
allora risolvi subito con una registrazione a pagamento...

 ;D ;D ;D
sicuramente se fosse genovese, il problema sarebbe risolto.
Oggi continuerò a googlare ancora il problema, magari nel frattempo qualcuno interviene con la risposta.
: [RISOLTO] Rifiutare registrazione utente, che usa email temporanea
: claudiosettantatre 21 May 2009, 09:22:49
San Google...  ::)
in components/com_user/controller.php
dopo:
:
      // If user activation is turned on, we need to set the activation information
      $useractivation = $usersConfig->get( 'useractivation' );
      if ($useractivation == '1')
      {
         jimport('joomla.user.helper');
         $user->set('activation', JUtility::getHash( JUserHelper::genRandomPassword()) );
         $user->set('block', '1');
      }

aggiungere:
:
      // ##### BEGIN: SPAM DOMAIN FILTER #####
      // Kick out spam domains
      $email = $user->get('email');
      if ( strpos($email,"gawab.com") ||
           strpos($email,"mail.ru")  ||
           strpos($email,"spambox.us")  ||
           strpos($email,"mailinator.com")  ||
           strpos($email,"dodgeit.com")  ||
           strpos($email,"mytrashmail.com")  ||
           strpos($email,"spamcero.com")  ||
           strpos($email,"jetable.org")  ||
           strpos($email,"pookmail.com")  ||
           strpos($email,"mailater.com")  ||
           strpos($email,"guerrillamail.com")  ||
           strpos($email,"spamfree24.org")  ||
           strpos($email,"nobulk.com")  ||
           strpos($email,"temporaryinbox.com")  ||
           strpos($email,"spam.la")  ||
           strpos($email,"tempemail.net")  ||
           strpos($email,"tempinbox.com")  ||
           strpos($email,"list.ru")  ||
           strpos($email,"bk.ru") ||
           strpos($email,"yahoo.co.uk") ||
           strpos($email,"gmail.com") ||
           strpos($email,"minivds.ru") ||
           strpos($email,"nakgirls.ru") ||
           strpos($email,"yandex.ru") ||
           strpos($email,"info1a.cn") ||
           strpos($email,"gooogletartsert.net") ||
           strpos($email,"freemeilaadressforall.net") ||
           strpos($email,"goodemailadressforfree.net") ||
           strpos($email,"5opicforum.cn") ||
           strpos($email,"pozitifff.com") ||
           strpos($email,"2008bases1.net") ||
           strpos($email,"nm.ru") ||
           strpos($email,"goldwoof.net") ||
           strpos($email,"megapochta.cn") ||
           strpos($email,"meta.ua") ||
           strpos($email,"fene4ek.net") ||
           strpos($email,"mail15.com") ||
           strpos($email,"googlemail.com") ||
           strpos($email,"yandex.com") ||
           strpos($email,"inmail24.com") )
      {
         JError::raiseWarning('','e-Mail domain is spam flagged');
         $this->register();
         return false;
      }
      // ##### END: SPAM DOMAIN FILTER #####

la lista nasce come antispam, infatti io ho aggiunto i più famosi siti di email temporanee.

Ciao
Claudio
: Re:[RISOLTO] Rifiutare registrazione utente, che usa email temporanea
: ramses_2th 27 May 2009, 14:29:22
Ottimo lavoro  ;)
: (sembrava risolto) Rifiutare registrazione utente, che usa email temporanea
: claudiosettantatre 11 Jun 2009, 09:04:10
rieccomi qui...  :-[
purtroppo il problema sembrava risolto, tuttavia mi sono accorto che per com_user, yopmail.com, Yopmail.com, YOPMAIL.COM...etc sono interpretati come domini differenti.
C'è modo di fargli ignorare il case sensitive?

Claudio
: Re:[RISOLTO] Rifiutare registrazione utente, che usa email temporanea
: weblord 12 Jun 2009, 16:56:16
Ciao, è la prima volta che scrivo sul forum.

Io sostituirei le varie righe (per esempio)

:
strpos($email,"yopmail.com")  ||

con

:
(eregi("^[_\.0-9a-z-]+@yopmail.com",$email)) ||

In questo modo il controllo non è "case sensitive" ed in più risolveresti anche un altro piccolo problema che potrebbe verificarsi in casi particolari come per esempio email del tipo

:
mailinator.com@mailinator.com
yopmail.com@yopmail.com


che aggirerebbero il controllo.

Ciao  ;)
: Re:[RISOLTO] Rifiutare registrazione utente, che usa email temporanea
: angelcs 28 Jul 2009, 23:01:07
Complimenti per la volontà, questa modifica potrebbe essere utile a tutti, chissa che sia inglobata nelle nuove versioni.

Comunque se qualcno avesse voglia di creare un plugin si potrebbe sfruttare uno script php  gia pronto che uso
http://www.stopforumspam.com/downloads/
lo uso su un forum e blocca veramente tutti, anche se purtroppo non esiste ancora per joomla...
: [Non del tutto risolto] Rifiutare registrazione utente, che usa email temporanea
: claudiosettantatre 16 Sep 2009, 18:13:36
Ciao, è la prima volta che scrivo sul forum.

Io sostituirei le varie righe (per esempio)

:
strpos($email,"yopmail.com")  ||

con

:
(eregi("^[_\.0-9a-z-]+@yopmail.com",$email)) ||

In questo modo il controllo non è "case sensitive" ed in più risolveresti anche un altro piccolo problema che potrebbe verificarsi in casi particolari come per esempio email del tipo

:
mailinator.com@mailinator.com
yopmail.com@yopmail.com


che aggirerebbero il controllo.

Ciao  ;)

eccolo qui:

:
       // ##### BEGIN: SPAM DOMAIN FILTER #####
      // Kick out spam domains
      $email = $user->get('email');
      if ( (eregi("^[_\.0-9a-z-]+@gawab.com",$email)) ||
           (eregi("^[_\.0-9a-z-]+@mail.ru",$email)) ||
           (eregi("^[_\.0-9a-z-]+@spambox.us",$email)) ||
           (eregi("^[_\.0-9a-z-]+@mailinator.com",$email)) ||
           (eregi("^[_\.0-9a-z-]+@dodgeit.com",$email)) ||
           (eregi("^[_\.0-9a-z-]+@mytrashmail.com",$email)) ||
           (eregi("^[_\.0-9a-z-]+@spamcero.com",$email)) ||
           (eregi("^[_\.0-9a-z-]+@jetable.org",$email)) ||
           (eregi("^[_\.0-9a-z-]+@pookmail.com",$email)) ||
           (eregi("^[_\.0-9a-z-]+@mailater.com",$email)) ||
           (eregi("^[_\.0-9a-z-]+@guerrillamail.com",$email)) ||
           (eregi("^[_\.0-9a-z-]+@spamfree24.org",$email)) ||
           (eregi("^[_\.0-9a-z-]+@nobulk.com",$email)) ||
           (eregi("^[_\.0-9a-z-]+@temporaryinbox.com",$email)) ||
           (eregi("^[_\.0-9a-z-]+@spam.la",$email)) ||
           (eregi("^[_\.0-9a-z-]+@tempemail.net",$email)) ||
           (eregi("^[_\.0-9a-z-]+@tempinbox.com",$email)) ||
           (eregi("^[_\.0-9a-z-]+@list.ru",$email)) ||
           (eregi("^[_\.0-9a-z-]+@bk.ru") ||
           (eregi("^[_\.0-9a-z-]+@yahoo.co.uk",$email)) ||
           (eregi("^[_\.0-9a-z-]+@gmail.com",$email)) ||
           (eregi("^[_\.0-9a-z-]+@minivds.ru",$email)) ||
           (eregi("^[_\.0-9a-z-]+@nakgirls.ru",$email)) ||
           (eregi("^[_\.0-9a-z-]+@yandex.ru",$email)) ||
           (eregi("^[_\.0-9a-z-]+@info1a.cn",$email)) ||
           (eregi("^[_\.0-9a-z-]+@gooogletartsert.net",$email)) ||
           (eregi("^[_\.0-9a-z-]+@freemeilaadressforall.net",$email)) ||
           (eregi("^[_\.0-9a-z-]+@goodemailadressforfree.net",$email)) ||
           (eregi("^[_\.0-9a-z-]+@5opicforum.cn",$email)) ||
           (eregi("^[_\.0-9a-z-]+@pozitifff.com",$email)) ||
           (eregi("^[_\.0-9a-z-]+@2008bases1.net",$email)) ||
           (eregi("^[_\.0-9a-z-]+@nm.ru",$email)) ||
           (eregi("^[_\.0-9a-z-]+@goldwoof.net",$email)) ||
           (eregi("^[_\.0-9a-z-]+@megapochta.cn",$email)) ||
           (eregi("^[_\.0-9a-z-]+@meta.ua",$email)) ||
           (eregi("^[_\.0-9a-z-]+@fene4ek.net",$email)) ||
           (eregi("^[_\.0-9a-z-]+@mail15.com",$email)) ||
           (eregi("^[_\.0-9a-z-]+@googlemail.com",$email)) ||
           (eregi("^[_\.0-9a-z-]+@yandex.com",$email)) ||
           (eregi("^[_\.0-9a-z-]+@inmail24.com",$email)) )
      {
        JError::raiseWarning('','e-Mail domain is spam flagged');
        $this->register();
        return false;
      }
      // ##### END: SPAM DOMAIN FILTER #####

ho avuto un pò di tempo, e mi sono ricordato di questa modifica, tuttavia qualcosa non funziona...

Parse error: syntax error, unexpected '{' in xxxxxxxx/home/components/com_user/controller.php on line 341

la quale riporta questa parte di codice:

:
      {
         JError::raiseWarning('','e-Mail domain is spam flagged');
         $this->register();
         return false;
      }

probabilmente sarà una virgola fuori posto, ma per me che il php sembra il nome di una brutta malattia, la situzione si complica  :D

: Re:[RISOLTO] Rifiutare registrazione utente, che usa email temporanea
: ValeTheDoctor46 04 Nov 2009, 16:04:58
l'errore era in una delle condizioni, avevi dimenticato un ,$email, adesso funziona perfettamente.

:
// ##### BEGIN: SPAM DOMAIN FILTER #####
      // Kick out spam domains
      $email = $user->get('email');
      if ( (eregi("^[_\.0-9a-z-]+@gawab.com",$email)) ||
           (eregi("^[_\.0-9a-z-]+@mail.ru",$email)) ||
           (eregi("^[_\.0-9a-z-]+@spambox.us",$email)) ||
           (eregi("^[_\.0-9a-z-]+@mailinator.com",$email)) ||
           (eregi("^[_\.0-9a-z-]+@dodgeit.com",$email)) ||
           (eregi("^[_\.0-9a-z-]+@mytrashmail.com",$email)) ||
           (eregi("^[_\.0-9a-z-]+@spamcero.com",$email)) ||
           (eregi("^[_\.0-9a-z-]+@jetable.org",$email)) ||
           (eregi("^[_\.0-9a-z-]+@pookmail.com",$email)) ||
           (eregi("^[_\.0-9a-z-]+@mailater.com",$email)) ||
           (eregi("^[_\.0-9a-z-]+@guerrillamail.com",$email)) ||
           (eregi("^[_\.0-9a-z-]+@spamfree24.org",$email)) ||
           (eregi("^[_\.0-9a-z-]+@nobulk.com",$email)) ||
           (eregi("^[_\.0-9a-z-]+@temporaryinbox.com",$email)) ||
           (eregi("^[_\.0-9a-z-]+@spam.la",$email)) ||
           (eregi("^[_\.0-9a-z-]+@tempemail.net",$email)) ||
           (eregi("^[_\.0-9a-z-]+@tempinbox.com",$email)) ||
           (eregi("^[_\.0-9a-z-]+@list.ru",$email)) ||
           (eregi("^[_\.0-9a-z-]+@bk.ru",$email)) ||
           (eregi("^[_\.0-9a-z-]+@yahoo.co.uk",$email)) ||
           (eregi("^[_\.0-9a-z-]+@gmail.com",$email)) ||
           (eregi("^[_\.0-9a-z-]+@minivds.ru",$email)) ||
           (eregi("^[_\.0-9a-z-]+@nakgirls.ru",$email)) ||
           (eregi("^[_\.0-9a-z-]+@yandex.ru",$email)) ||
           (eregi("^[_\.0-9a-z-]+@info1a.cn",$email)) ||
           (eregi("^[_\.0-9a-z-]+@gooogletartsert.net",$email)) ||
           (eregi("^[_\.0-9a-z-]+@freemeilaadressforall.net",$email)) ||
           (eregi("^[_\.0-9a-z-]+@goodemailadressforfree.net",$email)) ||
           (eregi("^[_\.0-9a-z-]+@5opicforum.cn",$email)) ||
           (eregi("^[_\.0-9a-z-]+@pozitifff.com",$email)) ||
           (eregi("^[_\.0-9a-z-]+@2008bases1.net",$email)) ||
           (eregi("^[_\.0-9a-z-]+@nm.ru",$email)) ||
           (eregi("^[_\.0-9a-z-]+@goldwoof.net",$email)) ||
           (eregi("^[_\.0-9a-z-]+@megapochta.cn",$email)) ||
           (eregi("^[_\.0-9a-z-]+@meta.ua",$email)) ||
           (eregi("^[_\.0-9a-z-]+@fene4ek.net",$email)) ||
           (eregi("^[_\.0-9a-z-]+@mail15.com",$email)) ||
           (eregi("^[_\.0-9a-z-]+@googlemail.com",$email)) ||
           (eregi("^[_\.0-9a-z-]+@yandex.com",$email)) ||
           (eregi("^[_\.0-9a-z-]+@inmail24.com",$email)) )
      {
        JError::raiseWarning('','non puoi usare e-Mail temporanee');
        $this->register();
        return false;
      }
      // ##### END: SPAM DOMAIN FILTER #####
: Re:[RISOLTO] Rifiutare registrazione utente, che usa email temporanea
: martigues1 18 Dec 2009, 20:42:24
Scusate ma ho cercato nel mio Joomla 1.0.x

e sotto la cartella

components/com_user/

non trovo il file

controller.php

ma il file

user.php

potreste aiutarmi a risolvere anche per la versione 1.0.x di Joomla?

Grazie, Antonio.
: Re:[RISOLTO] Rifiutare registrazione utente, che usa email temporanea
: domenico_cs 03 Sep 2017, 11:07:32
San Google...  ::)
in components/com_user/controller.php
dopo:
:
      // If user activation is turned on, we need to set the activation information
      $useractivation = $usersConfig->get( 'useractivation' );
      if ($useractivation == '1')
      {
         jimport('joomla.user.helper');
         $user->set('activation', JUtility::getHash( JUserHelper::genRandomPassword()) );
         $user->set('block', '1');
      }

aggiungere:
:
      // ##### BEGIN: SPAM DOMAIN FILTER #####
      // Kick out spam domains
      $email = $user->get('email');
      if ( strpos($email,"gawab.com") ||
           strpos($email,"mail.ru")  ||
           strpos($email,"spambox.us")  ||
           strpos($email,"mailinator.com")  ||
           strpos($email,"dodgeit.com")  ||
           strpos($email,"mytrashmail.com")  ||
           strpos($email,"spamcero.com")  ||
           strpos($email,"jetable.org")  ||
           strpos($email,"pookmail.com")  ||
           strpos($email,"mailater.com")  ||
           strpos($email,"guerrillamail.com")  ||
           strpos($email,"spamfree24.org")  ||
           strpos($email,"nobulk.com")  ||
           strpos($email,"temporaryinbox.com")  ||
           strpos($email,"spam.la")  ||
           strpos($email,"tempemail.net")  ||
           strpos($email,"tempinbox.com")  ||
           strpos($email,"list.ru")  ||
           strpos($email,"bk.ru") ||
           strpos($email,"yahoo.co.uk") ||
           strpos($email,"gmail.com") ||
           strpos($email,"minivds.ru") ||
           strpos($email,"nakgirls.ru") ||
           strpos($email,"yandex.ru") ||
           strpos($email,"info1a.cn") ||
           strpos($email,"gooogletartsert.net") ||
           strpos($email,"freemeilaadressforall.net") ||
           strpos($email,"goodemailadressforfree.net") ||
           strpos($email,"5opicforum.cn") ||
           strpos($email,"pozitifff.com") ||
           strpos($email,"2008bases1.net") ||
           strpos($email,"nm.ru") ||
           strpos($email,"goldwoof.net") ||
           strpos($email,"megapochta.cn") ||
           strpos($email,"meta.ua") ||
           strpos($email,"fene4ek.net") ||
           strpos($email,"mail15.com") ||
           strpos($email,"googlemail.com") ||
           strpos($email,"yandex.com") ||
           strpos($email,"inmail24.com") )
      {
         JError::raiseWarning('','e-Mail domain is spam flagged');
         $this->register();
         return false;
      }
      // ##### END: SPAM DOMAIN FILTER #####

la lista nasce come antispam, infatti io ho aggiunto i più famosi siti di email temporanee.

Ciao
Claudio
.


Ciao a tutti...
ho il problema citato nel titolo, ho provato a applicare il vostro suggerimento, ma non trovo le stringhe nel file controller.php
: Re:[RISOLTO] Rifiutare registrazione utente, che usa email temporanea
: tomtomeight 03 Sep 2017, 11:48:37
Ma hai visto che il post e la soluzione suggerita è di 9 anni fa? Hai la stessa versione? No allora chiaramente  il codice sarà diverso. Sì allora stai usando una versione molto obsoleta e ti dovresti preoccupare di ben altro.
: Re:[RISOLTO] Rifiutare registrazione utente, che usa email temporanea
: domenico_cs 03 Sep 2017, 11:54:27
Ma hai visto che il post e la soluzione suggerita è di 9 anni fa? Hai la stessa versione? No allora chiaramente  il codice sarà diverso. Sì allora stai usando una versione molto obsoleta e ti dovresti preoccupare di ben altro.
Ho visto che il post è vecchio, ma speravo in una soluzione per la versione attuale di joomla... e poi quando si aggiorna qualcosa non è detto che venga riscritto da capo.
: Re:[RISOLTO] Rifiutare registrazione utente, che usa email temporanea
: tomtomeight 03 Sep 2017, 12:04:29
Vedi quella era la versione 1.0 e credimi  le versioni attuali sono riscritte daccapo anche perché non si tratta di aggiornamenti ma proprio di nuove versioni. Tieni presente che anche il codice php nel frattempo è evoluto e alcune funzioni anzi molte, sono deprecate.
Non ti resta che adeguare quel codice alle classi e funzioni della versione attuale di joomla e php, Ti consiglio eventualmente di postare nella sezione sviluppo per questo.
: Re:[RISOLTO] Rifiutare registrazione utente, che usa email temporanea
: domenico_cs 03 Sep 2017, 12:06:40
grazie
: Re:[RISOLTO] Rifiutare registrazione utente, che usa email temporanea
: Ahmed Salvini 03 Sep 2017, 17:42:33
devi scrivere un plugin, credo di gruppo user e usare il trigger dell'evento registrazione al cui interno metti il codice che hai scritto sopra, ovviamente usando le var a disposizione
https://docs.joomla.org/J3.x:Creating_a_Plugin_for_Joomla