Heim  >  Artikel  >  Backend-Entwicklung  >  So validieren Sie JSONP-formatierte Eingaben mithilfe regulärer Ausdrücke in PHP

So validieren Sie JSONP-formatierte Eingaben mithilfe regulärer Ausdrücke in PHP

PHPz
PHPzOriginal
2023-06-24 09:03:42840Durchsuche

Mit der kontinuierlichen Entwicklung von Webanwendungen wird AJAX (Asynchronous JavaScript and XML) immer häufiger eingesetzt. JSONP (JSON with Padding) ist ein allgemeines AJAX-Interaktionsprotokoll. Es ermöglicht das Anfordern von Daten von Servern verschiedener Domänen und wird häufig in JavaScript verwendet.

Wenn Sie in PHP JSONP-formatierte Eingaben von einer anderen Domäne validieren müssen, müssen Sie diese korrekt analysieren. Dieser Vorgang kann mithilfe regulärer Ausdrücke durchgeführt werden. In diesem Artikel untersuchen wir, wie man reguläre Ausdrücke in PHP verwendet, um Eingaben im JSONP-Format zu validieren.

Eingabe im JSONP-Format

Bevor wir ausführlich besprechen, wie das JSONP-Format überprüft werden kann, wollen wir kurz die Eingabe im JSONP-Format vorstellen.

Wenn der Client das JSONP-Format zum Abrufen von Daten verwendet, stellt er eine Anfrage an den Server. Nach Erhalt der Anfrage verpackt der Server die Daten in eine Rückruffunktion und sendet sie an den Client zurück. Auf diese Weise kann der Client beim Empfang der Rückruffunktion eine Datenverarbeitung durchführen.

Wenn der Client beispielsweise den Server auffordert, Benutzerdaten mit dem Namen „Client“ über JSONP abzurufen, sendet er eine Anfrage ähnlich dem folgenden Code:

https://example.com/user.php?callback=client

Der Server muss den Benutzer gemäß dem Namen der Rückruffunktion in zurückrufen Die Anforderung Die Daten werden in einen Funktionsaufruf eingeschlossen und der entsprechende JavaScript-Code wird zurückgegeben. Zum Beispiel:

client({"name":"Tom","age":18,"gender":"male"});

Wenn der Name der Rückruffunktion ungültige Zeichen enthält oder ein falsches Format hat, werden die Daten nicht korrekt verarbeitet. Daher muss der Name der Rückruffunktion auf der Serverseite überprüft werden.

Verwenden Sie reguläre Ausdrücke, um Eingaben im JSONP-Format zu validieren.

Im Folgenden veranschaulichen wir anhand eines Beispiels, wie Sie reguläre Ausdrücke verwenden, um Eingaben im JSONP-Format zu validieren.

Der erste Schritt besteht darin, den Namen der Rückruffunktion abzurufen. Wir müssen den Rückrufwert von der angeforderten URL abrufen. In PHP können wir URL-Parameter über $_GET abrufen.

$callback = isset($_GET['callback']) ? $_GET['callback'] : '';

Der zweite Schritt besteht darin, den Namen der Rückruffunktion zu überprüfen. Wir müssen sicherstellen, dass es nur zulässige Zeichen enthält. In JSONP sind in Callback-Funktionsnamen nur alphanumerische Zeichen und Unterstriche zulässig. Zur Überprüfung können wir reguläre Ausdrücke verwenden.

if (preg_match('/^[a-zA-Z0-9_]+$/', $callback)) {
    // 正确格式的回调函数名称
} else {
    // 非法的回调函数名称
}

Der obige reguläre Ausdruck kann wie folgt interpretiert werden:

  1. Start: ^ bedeutet den Anfang der passenden Zeichenfolge.
  2. String: [a-zA-Z0-9_]+ bedeutet, dass Groß- und Kleinbuchstaben, Zahlen und Unterstriche mindestens einmal übereinstimmen.
  3. Ende: $ gibt das Ende der übereinstimmenden Zeichenfolge an.

Dieser reguläre Ausdruck stimmt nur mit Callback-Funktionsnamen überein, die alphanumerische Zeichen und Unterstriche enthalten, während andere Zeichen ignoriert werden. Wenn der Name der Rückruffunktion andere Zeichen enthält, schlägt die Validierung fehl.

Fazit

In PHP ist es sehr einfach, reguläre Ausdrücke zu verwenden, um Eingaben im JSONP-Format zu validieren. Sie müssen lediglich den Namen der Rückruffunktion abrufen und ihn mithilfe eines regulären Ausdrucks überprüfen. Dadurch wird sichergestellt, dass bei der Verarbeitung JSONP-formatierter Eingaben keine Probleme auftreten, wenn der Server die Anforderung empfängt.

Allerdings ist zu beachten, dass reguläre Ausdrücke die Datensicherheit nicht vollständig gewährleisten. Daher müssen wir bei der Verarbeitung von Eingabedaten auch andere Sicherheitsprüfungen durchführen, wie z. B. Eingabelänge, SQL-Injection oder XSS-Angriffe usw.

Das obige ist der detaillierte Inhalt vonSo validieren Sie JSONP-formatierte Eingaben mithilfe regulärer Ausdrücke in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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