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