Kaugtaotlused rakendusega wp_safe_remote_get
Eile jagasin postitust selle kasutamise kohta, wp_remote_get
kuid jätsin välja alternatiivse funktsiooni: wp_safe_remote_get
. Algne eesmärk oli kasutada esimest postitust, et näidata:
- Mida algne funktsioon aktsepteerib,
- Kuidas kasutada algset funktsiooni,
- Mida algne funktsioon tagastab,
- Kuidas näeb välja teostus.
Ja siis kavatsesin pilgu heita wp_safe_remote_get
. Kuid siin on väljakutse: mul on targad sõbrad. Varsti pärast postituse avaldamist saan Roylt vastuse :
Aitäh, Roy! (Ütle talle kindlasti "Tere!". 🙂
Aga kui tõsiselt rääkida, siis eilse postituse järg on täpselt selline: wp_safe_remote_get
. Ja see on see, kuidas määrata kahe funktsiooni erinevus ja millal te kasutaksite ühte teise üle.
wp_safe_remote_get
Otse API dokumentidest saame teada :
See funktsioon on ideaalne, kui HTTP-päring tehakse suvalisele URL-ile. URL on kinnitatud, et vältida ümbersuunamist ja taotleda võltsimisrünnakuid.
Sarnaselt oma vastega aktsepteerib see URL-i ja mitmeid argumente, mis võivad täpsustada, kuidas taotlus esitatakse.
Lisaks, nagu wp_remote_get
, tagastab see ka vastuseandmete massiivi või eksemplari, WP_Error
kui päring ebaõnnestub.
Selle funktsiooni kasutamine ei erine eelmisest, kuid see tõstatab küsimuse:
Millal me kasutame üht teise üle? Täpsemalt, millal me kasutame wp_remote_get
versus wp_safe_remote_get
?
Lugege allikat
Kui seisate silmitsi sellise olukorraga, on esimene parim asi, mida teha, lugeda allikat:
Kui loete ülalolevaid linke, märkate, et viimane lükkab tagasi "ebaturvalised URL-id", mille määrab wp_http_validate_url läbi mitme täpsema kontrolli.
Kuid siiski, mida ma kasutan?
See jätab küsimuse ikkagi vastuseta, kas pole? Arvan, et on lihtne teha üldsõna, et peaksite alati kasutama wp_safe_remote_get (või selle asja jaoks wp_safe_remote_post).
Kõik projektid on siiski erinevad.
Näiteks kui töötate pistikprogrammi kallal, mida hakatakse kasutama ainult sisevõrgus, ja teil on kontroll näiteks URL-ide valge loendi üle, mida saab funktsioonile edastada, siis võite kasutada esimest.
Kui aga avaldate viimast kasutajatele, kasutage alati funktsiooni turvalist versiooni.
Lühidalt
Minu rusikareegel on järgmine (ja see sarnaneb desinfitseerimisega):
Kui kasutajad kavatsevad funktsiooniga suhelda, siis veenduge, et nad suhtlevad koodi võimalikult turvalise versiooniga.
Vastasel juhul on liiga palju ohtu.