<?php
declare(strict_types=1);

$data = trim((string)($_GET['d'] ?? ''));
if ($data === '') { http_response_code(400); exit('missing'); }

// same-origin img için server-side üretim: dış servisi server çeker, tarayıcıya png döner
$remote = 'https://api.qrserver.com/v1/create-qr-code/?size=240x240&data=' . rawurlencode($data);

$ctx = stream_context_create([
  'http' => ['timeout' => 6],
  'ssl'  => ['verify_peer' => true, 'verify_peer_name' => true],
]);

$png = @file_get_contents($remote, false, $ctx);
if ($png === false) { http_response_code(502); exit('qr_fetch_failed'); }

header('Content-Type: image/png');
header('Cache-Control: no-store, max-age=0');
echo $png;
