Sobes.tech
Junior — Middle

Hogyan lehet hozzáadni egy rejtett mezőt az adatok REST API-nak történő küldésekor?

sobes.tech MI

Válasz az MI-től

PHP-ben a REST API-hoz adatküldéskor rejtett mezőt adhat hozzá úgy, hogy a kérés törzsében egy olyan extra paramétert helyez el, amely nem jelenik meg a felhasználónak, de a szerverhez továbbítódik.

Ha ez egy HTML űrlap, akkor használhatja a <input type="hidden">-et:

<form method="POST" action="/api/endpoint">
  <input type="hidden" name="secretField" value="secretValue">
  <input type="text" name="username">
  <input type="submit" value="Küldés">
</form>

Ha PHP-val cURL vagy más HTTP-kliens segítségével küldi, egyszerűen adja hozzá a szükséges mezőt az adatok tömbjéhez:

$data = [
    'username' => 'user123',
    'secretField' => 'secretValue'
];

$options = [
    'http' => [
        'header'  => "Content-type: application/x-www-form-urlencoded\r\n",
        'method'  => 'POST',
        'content' => http_build_query($data),
    ],
];
$context  = stream_context_create($options);
$result = file_get_contents('https://example.com/api/endpoint', false, $context);

Így a rejtett mező a többi adattal együtt kerül továbbításra, de nem jelenik meg nyilvánvalóan a felhasználó számára.