Was sind PHP-Filter? Welche Arten von Filtern gibt es?

慕斯
Freigeben: 2023-03-10 07:16:02
Original
2366 Leute haben es durchsucht

Der vorherige Artikel hat Ihnen „Wie schreibe ich E-Mail-Programmdateien mit PHP?“ vorgestellt. 》In diesem Artikel erfahren Sie weiterhin, was ein PHP-Filter ist. Welche Arten von Filtern gibt es? Lass uns zusammen gehen!

Was sind PHP-Filter? Welche Arten von Filtern gibt es?

Was sind PHP-Filter?

  • PHP-Filter werden verwendet, um Daten aus unsicheren Quellen zu validieren und zu filtern.

  • Das Testen, Validieren und Filtern von Benutzereingaben oder benutzerdefinierten Daten ist ein wichtiger Bestandteil jeder Webanwendung.

  • Die Filtererweiterung für PHP soll die Datenfilterung einfacher und schneller machen.

  • PHP-Filter werden verwendet, um Daten aus unsicheren Quellen, wie z. B. Benutzereingaben, zu validieren und zu filtern.

Warum Filter verwenden?

Fast alle Webanwendungen sind auf externen Input angewiesen. Diese Daten stammen in der Regel von Benutzern oder anderen Anwendungen (z. B. Webdiensten). Durch die Verwendung von Filtern können Sie sicherstellen, dass Ihre Anwendung den richtigen Eingabetyp erhält.

Sie sollten immer externe Daten filtern!

Eingabefilterung ist eines der wichtigsten Themen zur Anwendungssicherheit.

Was sind externe Daten?

Eingabedaten aus Formularen

  • Cookies

  • Webdienstdaten

  • Servervariablen

  • Datenbankabfrage

  • Funktionen und Filter

Zum Filtern Variablen verwenden Sie eine der folgenden Filterfunktionen:

  • filter_var() – Eine einzelne Variable nach einem angegebenen Filter filtern

  • filter_var_array() – Nach demselben oder einem anderen filter_input_array filtern – Mehrere Eingabevariablen abrufen und filtern mit den gleichen oder unterschiedlichen Filtern

  • Im folgenden Beispiel verwenden wir die Funktion filter_var(), um eine Ganzzahl zu überprüfen:

    <?php
    $int = 123;
    if(!filter_var($int, FILTER_VALIDATE_INT))
    {
    echo("不是一个合法的整数");
    }
    else
    {
    echo("是个合法的整数");
    }
    ?>
    Nach dem Login kopieren

    Das Ergebnis der Ausführung des Codes ist wie folgt:

  • Validieren und Bereinigen

Es gibt zwei Arten von Filtern:

Validierungsfilter:

Was sind PHP-Filter? Welche Arten von Filtern gibt es?

Wird zur Validierung von Benutzereingaben verwendet

Strenge Formatierungsregeln (z. B. URL- oder E-Mail-Validierung)

  • Returns die erwarteter Typ, wenn erfolgreich, gibt FALSE zurück, wenn fehlgeschlagen
    Kommt immer wieder zurück eine Zeichenfolge


  • Optionen und Flags Optionen und Flags werden verwendet, um dem angegebenen Filter zusätzliche Filteroptionen hinzuzufügen.

  • Verschiedene Filter haben unterschiedliche Optionen und Flags.

Im folgenden Beispiel validieren wir eine Ganzzahl mithilfe von filter_var() mit den Optionen „min_range“ und „max_range“:

<?php
$var=300;
$int_options = array(
"options"=>array
(
"min_range"=>0,
"max_range"=>256
)
);
if(!filter_var($var, FILTER_VALIDATE_INT, $int_options))
{
echo("不是一个合法的整数");
}
else
{
echo("是个合法的整数");
}
?>
Nach dem Login kopieren

Genau wie der obige Code müssen die Optionen in eine Datei namens „ Optionen " im zugehörigen Array. Wenn Flags verwendet werden, müssen diese nicht in einem Array vorhanden sein.

    Da die Ganzzahl „300“ ist, was nicht innerhalb des angegebenen Bereichs liegt, lautet die Ausgabe des obigen Codes:
  • Formulare bestehen normalerweise aus mehreren Eingaben. Feldzusammensetzung. Um wiederholte Aufrufe der Funktionen filter_var oder filter_input zu vermeiden, können wir filter_var_array oder die Funktion filter_input_array verwenden.

    In diesem Beispiel verwenden wir die Funktion filter_input_array(), um drei GET-Variablen zu filtern. Die empfangenen GET-Variablen sind ein Name, ein Alter und eine E-Mail-Adresse:
  • <?php
    $filters = array
    (
    "name" => array
    (
    "filter"=>FILTER_SANITIZE_STRING
    ),
    "age" => array
    (
    "filter"=>FILTER_VALIDATE_INT,
    "options"=>array
    (
    "min_range"=>1,
    "max_range"=>120
    )
    ),
    "email"=> FILTER_VALIDATE_EMAIL
    );
    $result = filter_input_array(INPUT_GET, $filters);
    if (!$result["age"])
    {
    echo("年龄必须在 1 到 120 之间。<br>");
    }
    elseif(!$result["email"])
    {
    echo("E-Mail 不合法<br>");
    }
    else
    {
    echo("输入正确");
    }
    ?>
    Nach dem Login kopieren


    Die Ergebnisse sind wie folgt:


  • Erklärung der Beispiele:

  • Darüber gibt es drei Beispiele übergeben Sie „GET“ Eingabevariablen (Name, Alter und E-Mail), die von der Methode übergeben werden:


    Legen Sie ein Array fest, das den Namen der Eingabevariablen und den Filter für die angegebene Eingabevariable enthält.

Rufen Sie die Funktion filter_input_array() auf und die Zu den Parametern gehört die GET-Eingabevariable. Und das gerade festgelegte Array


erkennt, ob in den Variablen „age“ und „email“ in der Variablen $result unzulässige Eingaben vorhanden sind. (Wenn eine unzulässige Eingabe vorliegt, ist die Eingabevariable nach Verwendung der Funktion filter_input_array() FALSE.)

Der zweite Parameter der Funktion filter_input_array() kann ein Array oder die ID eines einzelnen Filters sein.

Wenn der Parameter die ID eines einzelnen Filters ist, filtert der angegebene Filter alle Werte im Eingabearray.

Wenn der Parameter ein Array ist, muss das Array den folgenden Regeln folgen:

Muss ein assoziatives Array sein, die darin enthaltene Eingabevariable ist der Schlüssel des Arrays (z. B. die Eingabevariable „Alter“).

Dieser Array-Wert muss die ID des Filters oder ein Array sein, das Filter, Flags und Optionen angibt

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas sind PHP-Filter? Welche Arten von Filtern gibt es?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!