Back to top

Autore Topic: Registrazioni mail temporanee  (Letto 2177 volte)

Offline bismark2005

  • Abituale
  • ****
  • Post: 1158
    • Mostra profilo
Registrazioni mail temporanee
« il: 04 Mag 2010, 13:12:35 »
Girovagando nel forum ho trovato un vecchio post su come impedire la registrazioni con mail temporanee.

In components/com_user/controller.php
dopo:
Codice: [Seleziona]
// 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');
      }

bisogna inserire questo:

Codice: [Seleziona]
// ##### 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 #####

Ho "provato" la soluzione e sembra funzionare tutto. Mi viene un solo dubbio: Come faccio ad aggiornare la lista della mail temporanee?

Grazie

mau_develop

  • Visitatore
Re:Registrazioni mail temporanee
« Risposta #1 il: 04 Mag 2010, 14:02:02 »
vabbè ma se aggiungi un pezzo di codice ai tuoi script almeno cerca di capire cosa stai facendo altrimenti rischi di scoprire solo dopo che nessuno ti manda più nessuna mail che qualcosa non va.

Questo snippet non è altro che un filtro sulla stringa che determina il dominio della mail.
Se il dominio è uno di quelli che offre il servizio di mail temporanee gli viene vietato la registrazione.

l'array di eregi non fa altro che comparare la stringa che inserisci con un pattern, in qs caso:
tutti i valori alfanumerici 09 az compresi trattini underscore e punti, più la stringa @nomedominio.xxx

Come faccio ad aggiornare la lista della mail temporanee?
-------------------------------------------------------------

semplicemente aggiungi una riga all'array con il dominio che vuoi

Rimarrebbe da discutere sulla validità di questa cosa, secondo me un captchca è meglio e lo spam lo cancelli... spam=0 ... utopia se hai un sito attivo e frequentato.

Poi, ultimo ma non ultimo stai modificando un file di joomla, vuol dire che al prox aggiornamento perdi tutto.

Si potrebbe farlo diventare un plugin... peccato però che il manuale di php dica questo:
This function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged.

M.

Offline bismark2005

  • Abituale
  • ****
  • Post: 1158
    • Mostra profilo
Re:Registrazioni mail temporanee
« Risposta #2 il: 04 Mag 2010, 14:41:40 »
Quindi mi devo tenere coloro che si registrano con mail temporanee?

mau_develop

  • Visitatore
Re:Registrazioni mail temporanee
« Risposta #3 il: 04 Mag 2010, 17:10:58 »
non voglio decidere al tuo posto, cerco di darti il mio punto di vista... quando sai puoi decidere, magari qualcun altro ha opinioni opposte alle mie... basta che abbiano una logica e sono comunque valide.

il mio parere è sempre di non sparare con la pistola ad una zanzara...

dipende da quanti sono... e se poi ti si iscrivono con mail generate da domini ownati ma perfettamente leciti?

Dipende dagli scopi... spam? ... se c'è la moderazione nessun problema, cancelli

prova a pensare una soluzione per non ricevere più volantini pubblicitari nella tua casella postale di casa... se la trovi sei miliardario.

ma quanti sono? cosa fanno? cosa di quello che fanno diventa immediatamente visibile?

M.

Offline scarinciotto

  • Appassionato
  • ***
  • Post: 263
    • Mostra profilo
Re:Registrazioni mail temporanee
« Risposta #4 il: 04 Mag 2010, 17:34:38 »
secondo me dovresti farti un componente/modulo/plugin (se non esiste già) altrimenti, come già detto da mau_develop, dopo ogni aggiornamento perderesti tutto.
Se vuoi mettere le mani al codice di soluzioni ce ne sono tante... potresti farti una tabella nel DB, e se facendo una semplice select restituisce almeno una riga vuol dire che l'email è temporanea e dovresti solo aggiungere records in quella tabella senza doverlo fare al codice... non so vedi te...
I miei viaggi: www.scarinciotto.com

Offline bismark2005

  • Abituale
  • ****
  • Post: 1158
    • Mostra profilo
Re:Registrazioni mail temporanee
« Risposta #5 il: 04 Mag 2010, 17:43:17 »
Al massimo potrei fare qualche cosa in Java, ma non mi sembra che Joomla lo suporti.

Allora mi tengo gli utenti temporanei  :)

Offline scarinciotto

  • Appassionato
  • ***
  • Post: 263
    • Mostra profilo
Re:Registrazioni mail temporanee
« Risposta #6 il: 04 Mag 2010, 17:54:51 »
prova QUESTO ...
I miei viaggi: www.scarinciotto.com

Offline jeckodevelopment

  • Administrator
  • Instancabile
  • *****
  • Post: 5695
  • Sesso: Maschio
    • Mostra profilo
Re:Registrazioni mail temporanee
« Risposta #7 il: 04 Mag 2010, 17:57:16 »
secondo me dovresti provare AlphaRegistration, tramite un captcha impedisce la registrazione agli spammer. E' semplice e ti riduce il lavoro a zero!

Offline bismark2005

  • Abituale
  • ****
  • Post: 1158
    • Mostra profilo
Re:Registrazioni mail temporanee
« Risposta #8 il: 04 Mag 2010, 17:57:33 »
Provo subito. Grazie

Ps: avresti da consigliarmi qualche altro componente che visualizzi una pagina che invita alla registrazione quando l'utente digita l'url del sito?

Offline bismark2005

  • Abituale
  • ****
  • Post: 1158
    • Mostra profilo
Re:Registrazioni mail temporanee
« Risposta #9 il: 04 Mag 2010, 17:58:04 »
secondo me dovresti provare AlphaRegistration, tramite un captcha impedisce la registrazione agli spammer. E' semplice e ti riduce il lavoro a zero!

Provo anche questo. Grazie

 



Web Design Bolzano Kreatif