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

Remote-Anfragen mit wp_safe_remote_get

13

Gestern habe ich einen Beitrag zur Verwendung geteilt wp_remote_get, aber eine alternative Funktion ausgelassen: wp_safe_remote_get. Das ursprüngliche Ziel war es, den ersten Beitrag zu verwenden, um Folgendes zu zeigen:

  1. Was die ursprüngliche Funktion akzeptiert,
  2. So verwenden Sie die Originalfunktion,
  3. Was die ursprüngliche Funktion zurückgibt,
  4. Wie sieht eine Implementierung aus.

Und dann wollte ich mir das anschauen wp_safe_remote_get. Aber es gibt eine Herausforderung: Ich habe kluge Freunde. Kurz nachdem ich den Beitrag veröffentlicht habe, bekomme ich eine Antwort von Roy :

Danke, Roy! (Sag auf jeden Fall „Hallo!” zu ihm. 🙂

Aber im Ernst, der Nachtrag zum gestrigen Post ist genau das: wp_safe_remote_get. Und es geht darum, den Unterschied zwischen den beiden Funktionen zu bestimmen und wann Sie eine über der anderen verwenden würden.

wp_safe_remote_get

Direkt aus den API-Dokumenten lernen wir :

Diese Funktion ist ideal, wenn die HTTP-Anforderung an eine beliebige URL gesendet wird. Die URL wird validiert, um Umleitungs- und Anforderungsfälschungsangriffe zu vermeiden.

Und ähnlich wie sein Gegenstück akzeptiert es eine URL und eine Reihe von Argumenten, die angeben können, wie die Anfrage gestellt wird.

Darüber hinaus gibt es, genau wie wp_remote_get, auch ein Array der Antwortdaten oder eine Instanz von zurück WP_Error, wenn die Anfrage fehlschlägt.

Die Verwendung dieser Funktion unterscheidet sich nicht von der Verwendung der vorherigen, wirft jedoch die Frage auf:

Wann verwenden wir einen über dem anderen? Genauer gesagt, wann verwenden wir wp_remote_getversus wp_safe_remote_get?

Lies die Quelle

Wenn Sie mit einer solchen Situation konfrontiert sind, lesen Sie am besten zuerst die Quelle:

  1. wp_remote_get
  2. wp_safe_remote_get

Wenn Sie die obigen Links lesen, werden Sie feststellen, dass letzterer die „unsicheren URLs” ablehnt, die von wp_http_validate_url durch eine Reihe von erweiterten Prüfungen bestimmt werden.

Aber trotzdem, welche verwende ich?

Damit bleibt die Frage noch unbeantwortet, oder? Ich denke, es ist einfach, die pauschale Aussage zu treffen, dass Sie immer wp_safe_remote_get (oder wp_safe_remote_post) verwenden sollten.

Alle Projekte sind jedoch unterschiedlich.

Wenn Sie beispielsweise an einem Plugin arbeiten, das nur in einem Intranet verwendet werden soll, und Sie die Kontrolle über beispielsweise eine Whitelist mit URLs haben, die an die Funktion übergeben werden können, können Sie Ersteres problemlos verwenden.

Wenn Sie letzteres jedoch Benutzern zugänglich machen, verwenden Sie immer die sichere Version der Funktion.

Zusamenfassend

Meine Faustregel lautet (und ähnelt der Desinfektion):

Wenn Benutzer mit der Funktion interagieren, stellen Sie sicher, dass sie mit der sichersten Version des Codes interagieren.

Sonst ist zu viel auf dem Spiel.

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