Simple Machines Community Forum

SMF Support => Language Specific Support => Hilfe zu SMF (German) => Topic started by: Zerbiii on September 06, 2005, 08:52:25 AM

Title: Bei der Registrierung nur bestimmte Mail-Adressen erlauben ?!
Post by: Zerbiii on September 06, 2005, 08:52:25 AM
Hallo, ich hab ein kleines Problem:

Wir nutzen SMF ausschließlich im Intranet und für die Registrierung sollen nur E-Mail-Adressen einer speziellen Domain (also unserer) zugelassen werden. Im normalen Administrator Center besteht aber nur die Möglichkeit Domains zu bannen, nicht nur bestimmte zuzulassen. Es kann sich also jeder neue User mit einer anderen Mail-Addy anmelden und erhält keine Rückmeldung vom System, dass jene nicht erlaubt ist. Die "agreement.txt" wurde bereits geändert, aber das reicht mir nicht aus.

Weiß jemand, ob es einen Hack gibt, der eine "Whitelist" einbaut ? Die Möglichkeit bei der Registrierung nur bestimmte Domains zuzulassen, wäre natürlich noch besser.

Danke schon einmal für eure Hilfe.
Title: Re: Bei der Registrierung nur bestimmte Mail-Adressen erlauben ?!
Post by: Christian Land on September 06, 2005, 09:39:42 AM
Die registerMember Funktion muss angepasst werden (die findet sich in Subs-Members.php)... in der Funktion gibts den Block

if (empty($regOptions['email']) || preg_match('~^[0-9A-Za-z=_+\-/][0-9A-Za-z=_\'+\-/\.]*@[\w\-]+(\.[\w\-]+)*(\.[\w]{2,6})$~', stripslashes($regOptions['email'])) == 0)
fatal_error(sprintf($txt[500], $regOptions['username']), false);


dahinter müsste sowas wie:

if (!empty($regOptions['email']))
{

list($user,$domain) = split('@',$regOptions['email']);
$domain = strtolower($domain);

$allowed = array();
$allowed[] = 'domain.de';
$allowed[] = 'domain.com';
$allowed[] = 'whatever.org';

if (!in_array($domain, $allowed))
{
fatal_error(sprintf($txt[500], $regOptions['username']), false);
}

}


in $allowed müssen die Domains eingetragen werden, die erlaubt sind... gehts schief, kommt der normale Fehler der bei einer ungültigen Fehlermeldung kommt...
Title: Re: Bei der Registrierung nur bestimmte Mail-Adressen erlauben ?!
Post by: Zerbiii on September 06, 2005, 11:37:13 AM
Super !

Habe zwar smf 1.0.5 und der Code von dir scheint für 1.1 zu sein, aber konnte das problemlos umschreiben. Der Code steht dann in der "Register.php".

Klappt einwandfrei, thx für die schnelle Hilfe !


PS: Thema kann geclosed werden.