MyBB.de Forum

Normale Version: Möglichkeit nur bestimmte Adressen für Registrierung zu zulassen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo MyBB Gemeinde,
ich möchte gern, dass nur bestimmte mail adressen für die registrierung zugelassen werden. d.h. den aktivierungslink sollen nur leute mit beispielsweise "irgendwas@web.de" bekommen.
ich stelle mir das so vor, dass im registrierungsformular die entsprechende mail adresse eingegeben wird und dann entweder direkt bei der eingabe im mailadressenfeld der registrierung ein grüner oder hintergrund auftaucht oder aber auch für den nutzer unsichtbar nach dem klicken des registrierungsbuttons vom system entschieden wird, ob es sich um eine mailadresse handelt, die berechtigt ist einen aktivierungslink zu bekommen.
habt ihr irgendwelche vorschläge, wie ich das umsetzen könnte? bin für jede idee dankbar
Grüße
deffers0en

MyBB ver 1.4.9 (1409)
Was hast du denn vor?
danke fürs schnelle reagieren Smile

das beschriebene.
es geht darum, dass ich gewärleisten möchte, dass in meinem forum sich nur studenten meiner hochschule registrieren können sollen. keine profs, keine anderen hochschulen. dies kann ich über die studentenmailadresse, die jeder hat und die bei jedem nach dem "@" gleich ist, gewährleisten. da ich aber nicht alle registrierungen per hand als admin immer freischalten möchte, hätte ich gern ne automatisierung.
Grüße
Ok, so klingt das ganze Vorhaben verständlich. Man könnte das in der Datei inc/datahandlers/user.php umsetzen. Da werden die Eingaben überprüft.
danke nochmals für die schnelle hilfe stefan,
habe ne möglichkeit in functions.php gefunden. habe validate_email_format() entsprechend angepasst.
muss es nur noch testen.
thema kann geschlossen werden.
Grüße
Wenn du es getestet hast und es funktioniert, poste bitte deine Lösung. Könnte bestimmt auch für andere interessant sein.
ich hab die logik einfach vertauscht
Datei: /inc/functions.php
Original:
PHP-Code:
function validate_email_format($email)
{
        if(
strpos($email' ') !== false)
        {
                return 
false;
        }
        
// Valid local characters for email addresses: http://www.remote.org/jochen/mail/info/chars.html
        
return preg_match("/^[a-zA-Z0-9&*+\-_.{}~^\?=\/]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9.-]+$/si"$email);


abgeändert:
PHP-Code:
function validate_email_format($email)
{
        if(
strpos($email'@web.de') !== false)
        {
                
// Valid local characters for email addresses: http://www.remote.org/jochen/mail/info/chars.html
                
return preg_match("/^[a-zA-Z0-9&*+\-_.{}~^\?=\/]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9.-]+$/si"$email);

        }
        return 
false;


somit werden nur adressen akzeptiert die "@web.de" beinhalten (web.de ist hier natürlich nur als beispiel zu verstehen)
falls euch bedenken einfallen oder szenarien, die probleme bereiten könnten, wäre ich für hinweise dankbar

Datei: /inc/functions.php
PHP-Code:
function is_banned_email($email$update_lastuse=false)
{
    global 
$cache$db;

    
$banned_cache $cache->read("bannedemails");
    
    if(!
$banned_cache)
    {
        
$cache->update_bannedemails();
        
$banned_cache $cache->read("bannedemails");
    }

    foreach(
$banned_cache as $banned_email)
    {
        
// Make regular expression * match
        
$banned_email['filter'] = str_replace('\*''(.*)'preg_quote($banned_email['filter'], '#'));

        if(
preg_match("#{$banned_email['filter']}#i"$email))
        {
            
// Updating last use
            
if($update_lastuse == true)
            {
                
$db->update_query("banfilters", array("lastuse" => TIME_NOW), "fid='{$banned_email['fid']}'");
            }
            return 
false// VON TRUE AUF FALSE ÄNDERN
        
}
    }
    
// Still here - good email
    
return true// VON FALSE AUF TRUE ÄNDERN


Wenn du die Funktion so abänderst, kannst du unter Konfigurations->Ausschluss->Verbotene eMailadressen nun die Mailadressen eingeben, welche freigegeben sind zur Registration Smile Sozusagen einfach den Sinn umgedreht Big Grin