Seneste forumindlæg
Køb / Salg
 * Uofficiel Black/White liste V3
Login / opret bruger

Forum \ Programmering og webdesign \ Hjemmeside design
Denne tråd er over 6 måneder gammel

Er du sikker på, at du har noget relevant at tilføje?

PHP - hent json fra API til subdomæne hurtigere

Af Super Supporter Chri.s | 04-10-2018 13:53 | 2147 visninger | 1 svar, hop til seneste
Her kommer lige endnu et spørgsmål om PHP fra min side. Jeg sidder og skal hente noget json-data ned fra en API til mit projekt. Jeg kunne godt hente dataene dirkekte fra kilden til projektet, men for at få bedre styring med queries (antal, størrelse, brugere osv.) vil jeg gerne køre det over min egen webserver. Af den årsag har jeg sat nedenstående op og lavet et subdomæne som udelukkende har til formål at håndtere disse queries. Dog er mit spørgsmål om I mener, at jeg på nogen måde kan gøre processen hurtigere og/eller bedre ? Her tænker jeg både på hastighed og sikkerhed. Koden nedenfor er det absolut eneste som ligger på subdomænet, så bør jeg gøre det mere sikkert? Her tænker jeg eksempelvis på direkte adgang til filen m.m. Jeg har naturligvis en .htaccess fil herudover, som sikrer at gzip compression, caching (ikke at det er nødvendigt her) og mere er aktiveret. Koden: <?php $currURI = $_SERVER['REQUEST_URI']; $query = parse_url($currURI, PHP_URL_QUERY); parse_str($query, $params); if (isset($params['query'])) { $url = "https:// www .example. com" } else { die(); } function get_data($url) { $ch = curl_init(); $userAgent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13'; curl_setopt($ch, CURLOPT_USERAGENT, $userAgent); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_FAILONERROR, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_AUTOREFERER, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 10); $queryResponse = curl_exec($ch); curl_close($ch); return $queryResponse; } ?> <html> <head> </head> <body> <pre style="word-wrap: break-word; white-space: pre-wrap;"> <?php echo get_data($url); ?> </pre> </body> </html>
--
Sidst redigeret 04-10-2018 13:56
#1
julemand101
Ultrabruger
04-10-2018 15:07

Rapporter til Admin
Altså det er umuligt at svare på dine spørgsmål uden yderligere information omkring løsningen. Omkring sikkerhed så er det ikke muligt at svare på det eftersom du ikke har skrevet koden der gør brug af resultatet fra get_data() eller koden der henter parametre til dit API kald. Jeg kan godt fortælle dig at du aldrig må stole på input fra andre end dig selv så du skal sikre at brugerinput er noget du forventer samt output fra API kaldet heller ikke indeholder noget snavs som kan give dig problemer. Omkring performance er det jo umuligt at sige noget når der ingen information er omkring hvilke datamængder du forventer API-kaldet kan give dig. Generelt kan man sige du aldrig skal lave optimeringer omkring performance med mindre performance er et problem. Så hvis koden kører fint lige nu så ingen grund til at presse mere juice ud af det. En ting man kan påpege her er at du med nuværende kode ender med at have hele resultatet af API-kaldet i hukommelsen så hvis du forventer gigabyte af data så er det selvfølgelig et problem. Ligeledes så henter du alt data fra API-kaldet før du sender det videre til brugeren. Så du vil have lidt ekstra ventetid her fordi du måske kunne have startet overførslen til brugeren noget tidligere. Men det kommer helt an på om du har tænkt dig er forarbejde data inden du sender dem videre og om man kan lave denne forarbejdning som en løbende strøm af data. Men igen, ingen grund til at optimere med mindre det er et problem. Du kan grave virkelig dybt hvis du går ned af performance-stien og det er ikke nødvendigvis tid der giver mening at bruge på projektet.
--

Opret svar til indlægget: PHP - hent json fra API til subdomæne hurtigere

Grundet øget spam aktivitet fra gæstebrugere, er det desværre ikke længere muligt, at oprette svar som gæst.

Hvis du ønsker at deltage i debatten, skal du oprette en brugerprofil.

Opret bruger | Login
NYHEDSBREV
Afstemning