✅ WEB- und WordPress-Nachrichten, Themen, Plugins. Hier teilen wir Tipps und beste Website-Lösungen.

Sie sollten PHP-Filterfunktionen verwenden, Teil 2

6

Im vorherigen Beitrag habe ich über die Gründe gesprochen, warum die Verwendung von PHP-Filterfunktionen eher nützlich als nicht ist.

Kurz gesagt hilft dies dabei, eine Validierungsebene bereitzustellen, die in die Sprache eingebaut ist, sodass wir nichts neu schreiben müssen. Natürlich gibt es Vorbehalte.

Wenn Sie zum Beispiel einen Wert validieren müssen, der aus nicht-lateinischen Zeichen besteht, dann müssen Sie es alleine machen und die Validierung vielleicht mit einem regulären Ausdruck implementieren.

Aber wenn Sie E-Mail-Adressen, URLs, Nummern, IP-Adressen und so viele andere Dinge verwenden, dann sind Sie in einer guten Position, etwas bereits Vorhandenes zu verwenden.

Wie auch immer, bei allem oben Gesagten geht es immer noch um das Filtern von Variablen. Aber was ist mit Eingängen? Das heißt, diejenigen, die von $_POSToder kommen $_GET. Es ist möglich, eine ähnliche Strategie mit einer anderen Funktion und einem anderen Filtersatz zu verwenden.

Aber wenn Sie die im letzten Post vorgestellten Grundlagen verstehen, dann wird dieser Post nicht viel anders sein.

PHP-Filterfunktionen, Teil 2: Eingaben

Das Filtern von Eingängen erfolgt durch die filter_inputFunktion. Die Definition für diese spezielle Funktion lautet:

Ruft eine bestimmte externe Variable nach Namen ab und filtert sie optional

Das PHP-Handbuch

Und wie schon beim letzten Mal erwähnt, klingt das etwas seltsam, bis Sie verstehen, was die Filter sind. Glücklicherweise haben wir dies im vorherigen Beitrag behandelt. Und obwohl sich dieser Beitrag speziell auf POST(und sehr kurz GET) konzentrieren wird.

Es gibt aber noch andere Filter. Und dazu gehören:

  • INPUT_COOKIE
  • INPUT_SERVER
  • INPUT_ENV

Wie auch immer, da die beiden häufigsten Operationen, die ich in WordPress sehe, und enthalten sind POST, GETscheint es wichtig, diese beiden hier aufzunehmen.

Sie sollten PHP-Filterfunktionen verwenden, Teil 2

Die Verwendung dieser Funktionen ist trivial einfach. Angenommen, Sie haben einen Wert, der von etwas stammt, das der Benutzer in einem Formular bereitgestellt hat, und er sendet ihn mithilfe einer POSTAnfrage mit einem Schlüssel wie firstname.

Der Code zur Überprüfung kann etwa so aussehen:

  • filter_input(INPUT_POST, 'firstname');

Was leicht zu verstehen ist, weil es einfach den Schlüssel nimmt, ihn filtert und dann einen Wert zurückgibt. Und da es einen Wert zurückgibt, können wir eine Schutzklausel einrichten, bevor wir mit weiteren Arbeiten fortfahren:

1if (false === filter_input(INPUT_POST, 'firstname')) { 2  return; 3}

Wenn alles ausgecheckt ist, können wir mit den Benutzerinformationen fortfahren, was immer wir tun müssen. Vielleicht müssen wir es aus irgendeinem Grund mit dem aktuellen Beitrag in Verbindung bringen:

1if (false === filter_input(INPUT_POST, 'firstname')) { 2  return; 3} 4  5$firstname = filter_input(INPUT_POST, 'firstname'); 6update_post_meta(get_the_ID(), 'acme-firstname', $firstname); 7  8// Other code you may use...

Darüber hinaus können Sie Informationen durch die Verwendung der verschiedenen vorhandenen Filter noch besser sichern. Diese werden als dritter Parameter an die filter_inputFunktion übergeben.

Und worum geht es GET?

Das Schöne an dieser Funktion ist, dass im Allgemeinen die gleichen Regeln gelten wie bei, POSTaußer dass INPUT_POSTSie statt verwenden INPUT_GET.

Und dann können Sie Ihren Code so durcharbeiten, wie er am besten zu den Anforderungen Ihres Projekts passt.

Sicherheit, Nonces usw.

Denken Sie daran, dass dies nicht anstelle von Sicherheit verwendet werden sollte. Dies dient ausschließlich dem Zweck, Daten zu sichern, bevor irgendetwas damit gemacht wird.

Ersetzen Sie nicht die Überprüfung von Nonce-Werten, nur weil Sie Daten anders überprüfen.

Variablen und Eingänge

Denken Sie daran, dass diese Funktionen sehr ähnliche Variablen sind und die Eingaben unterschiedlich sind. Mit anderen Worten, versuchen Sie nicht zu verwenden, filter_varwenn Sie mit Eingaben des Benutzers oder des Browsers arbeiten. Verwenden Sie es immer dann, wenn Sie mit Variablen arbeiten. Und verwenden Sie in ähnlicher Weise ht e

Aufnahmequelle: tommcfarlin.com

Diese Website verwendet Cookies, um Ihre Erfahrung zu verbessern. Wir gehen davon aus, dass Sie damit einverstanden sind, Sie können sich jedoch abmelden, wenn Sie möchten. Annehmen Weiterlesen