✅ WEB- och WordPress -nyheter, teman, plugins. Här delar vi tips och bästa webbplatslösningar.

Fjärrförfrågningar med wp_safe_remote_get

6

Igår delade jag ett inlägg om hur man använder wp_remote_getmen jag utelämnade en alternativ funktion: wp_safe_remote_get. Det ursprungliga målet var att använda det första inlägget för att visa:

  1. Vad den ursprungliga funktionen accepterar,
  2. Hur man använder den ursprungliga funktionen,
  3. Vad den ursprungliga funktionen returnerar,
  4. Hur en implementering ser ut.

Och så tänkte jag ta en titt på wp_safe_remote_get. Men det finns en utmaning: jag har smarta vänner. Strax efter att jag publicerade inlägget får jag ett svar från Roy :

Tack, Roy! (Se till att säga "Hej!" till honom. 🙂

Men seriöst, uppföljningen till gårdagens inlägg är just det: wp_safe_remote_get. Och det är hur du bestämmer skillnaden mellan de två funktionerna och när du använder den ena framför den andra.

wp_safe_remote_get

Direkt från API-dokumenten lär vi oss :

Denna funktion är idealisk när HTTP-begäran görs till en godtycklig URL. Webbadressen är validerad för att undvika omdirigering och begäran om förfalskningsattacker.

Och i likhet med sin motsvarighet accepterar den en URL och en serie argument som kan specificera hur begäran görs.

Dessutom, precis som wp_remote_get, returnerar den också en uppsättning svarsdata eller en instans av WP_Errorom begäran misslyckas.

Att använda den här funktionen är inte annorlunda än att använda den tidigare, men det väcker frågan:

När använder vi det ena framför det andra? Närmare bestämt, när använder vi wp_remote_getkontra wp_safe_remote_get?

Läs källan

När du står inför en sådan här situation är det första bästa du kan göra att läsa källan:

  1. wp_remote_get
  2. wp_safe_remote_get

Om du läser länkarna ovan kommer du att märka att den senare avvisar de "osäkra webbadresserna" som bestäms av wp_http_validate_url genom en serie avancerade kontroller.

Men ändå, vilken ska jag använda?

Detta lämnar fortfarande frågan obesvarad, eller hur? Jag tror att det är lätt att göra det allmänna uttalandet att du alltid ska använda wp_safe_remote_get (eller wp_safe_remote_post, för den delen).

Alla projekt är dock olika.

Om du till exempel arbetar med ett plugin som bara kommer att användas på ett intranät och du har kontroll över till exempel en vitlista med URL som kan skickas in i funktionen, så går det bra att använda den förra.

Om du däremot exponerar den senare för användare, använd alltid den säkra versionen av funktionen.

Kortfattat

Min tumregel är denna (och det liknar sanering):

Om användare ska interagera med funktionen, se till att de interagerar med den säkraste versionen av koden som möjligt.

Annars är för mycket i riskzonen.

Inspelningskälla: tommcfarlin.com

Denna webbplats använder cookies för att förbättra din upplevelse. Vi antar att du är ok med detta, men du kan välja bort det om du vill. Jag accepterar Fler detaljer