Unterschied zwischen sanitize_email, FILTER_VALIDATE_EMAIL und eingegebene E-Mail-Typ in HTML5

Was ist der Unterschied zwischen der Verwendung von:

  1. HTML 5 (es validiert Benutzer-E-Mail-Eingabe ohne JavaScript oder anderen Code.

2.PHP

 filter_var($email, FILTER_SANITIZE_EMAIL); 
  1. WordPress sanitize_email:

    $ email = sanitize_email (‘user@example.com’);

Solutions Collecting From Web of "Unterschied zwischen sanitize_email, FILTER_VALIDATE_EMAIL und eingegebene E-Mail-Typ in HTML5"

1- HTML5

  

Definieren Sie ein Feld für eine E-Mail-Adresse (wird automatisch validiert, wenn es gesendet wird)

Tipp: Safari auf dem iPhone erkennt den E-Mail-Typ und ändert die Bildschirmtastatur entsprechend (fügt @ und .com hinzu).

Wichtig Es ist auch wichtig, sich daran zu erinnern, dass ein Nutzer hinter den Kulissen an Ihrem HTML-Code basteln kann, sodass Ihre Website diese Überprüfung aus Sicherheitsgründen nicht verwenden darf. Sie müssen die E-Mail-Adresse auf der Serverseite einer Transaktion überprüfen, in der der angegebene Text möglicherweise irgendwelche Sicherheitsauswirkungen hat. Für weitere Informationen Link

2-php Der Filter FILTER_VALIDATE_EMAIL überprüft eine E-Mail-Adresse, die alle ungültigen Zeichen aus der E-Mail entfernt.

  • Die function filter_var () filtert eine Variable mit dem angegebenen Filter. Gibt die gefilterten Daten bei Erfolg oder FALSE bei Fehlschlag zurück

beispielsweise:

 < ?php $email = "john.doe@example.com"; // Remove all illegal characters from email $email = filter_var($email, FILTER_SANITIZE_EMAIL); // Validate e-mail if (!filter_var($email, FILTER_VALIDATE_EMAIL) === false) { echo("$email is a valid email address"); } else { echo("$email is not a valid email address"); } ?> 

Für mehr Kontrolle Link

3-wordpress:

Entfernt alle Zeichen, die in einer E-Mail-Adresse nicht zulässig sind. Nachdem sanitize_email () seine Arbeit erledigt hat, übergibt es die bereinigte E-Mail-Adresse über den Filter “sanitize_email”.

 < ?php sanitize_email( $email ) ?> 

Beispiel:

 < ?php $sanitized_email = sanitize_email(' admin@example.com! '); echo $sanitized_email; // will output: 'admin@example.com' ?> 

Diese function verwendet einen kleineren zulässigen Zeichensatz als den in RFC 5322 definierten Satz. Einige legale E-Mail-Adressen können geändert werden. Erlaubtes Zeichen regulärer Ausdruck: /[^a-z0-9+_.@-]/i. sanitize_email () gehört zu einer class von functionen, mit denen Sie potentiell unsichere Daten bereinigen können, die es Ihnen ermöglichen, eine beliebige Variable zu übergeben und die saubere Version basierend auf dem Datentyp zu erhalten. Andere umfassen:

Für mehr Kontrolle Link

Fazit:

  1. Verwenden Sie Html 5 Input-Tag-Typ E-Mail (es ist cool), aber nicht aus Sicherheitsgründen abhängen.

2.Sie sollten sanitize, php filter + if-else (Logik) verwenden, um Ihre Eingabe zu sichern.