Grund für Benutzernamen in Kleinbuchstaben


7

Ich kann validate_user()Aufrufe sanitize_user()mit strengen Argumenten als wahr ansehen , was bedeutet, dass auch Großbuchstaben nicht zulässig sind.

Im Quellcode habe ich diesen Kommentar gefunden

// If strict, reduce to ASCII for max portability.
    if ( $strict )
        $username = preg_replace( '|[^a-z0-9 _.\-@]|i', '', $username );

Ich möchte wissen, wie sich dies auf die Portabilität auswirkt.


Der iModifikator im Regex-Muster macht es unabhängig von Groß- und Kleinschreibung, nur etwas zu beachten.
t31os

Was macht dieser Regex hier eigentlich?
Ashfame

1
Ersetzt alles, was nicht az (oben oder unten), 0-9 (dh eine beliebige Zahl), einen Unterstrich, einen Punkt, einen Bindestrich oder ein @ -Symbol ist.
t31os

Wie blockiert es dann die Großbuchstaben? : S
Ashfame

1
@Ashfame: Tatsächlich blockiert die Funktion keine Großbuchstaben. In dem Kommentar über den Funktionen schreibt WP: "Wenn $ strict wahr ist, werden nur alphanumerische Zeichen (sowie _, Leerzeichen,., -, * @) zurückgegeben." Das bedeutet, dass Großbuchstaben akzeptiert werden. Tatsächlich habe ich ein WP, in dem ich den Benutzernamen mit Großbuchstaben habe, und überhaupt keine Probleme.
Anh Tran

Antworten:


7

Großbuchstaben werden in Benutzernamen bei einzelnen Site-Setups nicht blockiert.

Großbuchstaben werden in Benutzernamen bei Setups mit mehreren Standorten blockiert. Die Funktion wpmu_validate_user_signup erzwingt nur Kleinbuchstaben az und die Zahlen 0-9.


2

Wenn Sie Benutzern nicht erlauben, eine Site zu registrieren, können Sie die Einschränkung in Großbuchstaben bei der MS-Installation deaktivieren. Fügen Sie sie einfach in die Datei theme functions.php ein:

remove_action( 'sanitize_user', 'strtolower' );

1

Ich nehme an, es wäre so, dass Sie die Ergebnisse von validate_user in einer URL oder einer $ _GET-Zeichenfolge verwenden können. Ich bin mir sicher, dass es noch viele andere Gründe gibt. Ich glaube, ich weiß nicht, was sie unter maximaler Portabilität verstehen ...


Ja, ich bin daran interessiert zu wissen, wie sich dies auf die Portabilität auswirkt. Alles andere wie eine Variable aus der URL kann so konfiguriert werden, dass sie in Kleinbuchstaben konvertiert und dann funktioniert. Ein bisschen zusätzliche Arbeit, wird aber funktionieren.
Ashfame
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.