Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste
Möglichkeit nur bestimmte Adressen für Registrierung zu zulassen
#1
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)
Zitieren
#2
Was hast du denn vor?
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#3
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
Zitieren
#4
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.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#5
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
Zitieren
#6
Wenn du es getestet hast und es funktioniert, poste bitte deine Lösung. Könnte bestimmt auch für andere interessant sein.
 
The User, Formerly Known As "En-Gedi"
 
Zitieren
#7
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
Zitieren
#8

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
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Wortfilter nur für bestimmte Usergruppe masi1234 14 3.475 19.04.2021, 15:36
Letzter Beitrag: masi1234
  gebannte User zulassen davidoof 11 5.986 23.04.2013, 23:42
Letzter Beitrag: davidoof
  Kontaktdetails nur für bestimmte Usergruppen reisender 4 1.901 18.12.2012, 21:47
Letzter Beitrag: reisender
  Registrierung nur bei Einladung ? - Themennamen nur sehen aber nicht den Inhalt ? tm2 0 1.362 23.08.2011, 13:46
Letzter Beitrag: tm2
  Gibt es eine Möglichkeit alle hochgeladenen Bilder anzusehen? sabrina 4 2.393 27.01.2011, 20:05
Letzter Beitrag: Michael