24-11-2015, 06:02 PM
Bonne réponse de niahoo.
Sinon, dans l'implé, array_key_exists sera plus approprié que isset car isset peut renvoyer null pour d'autres raisons qui peuvent échapper à la relecture (par exemple, une faute de frappe isset($SERVER['...']): cela renverra toujours false alors que array_key_exists($SERVER, '...') te diras que $SERVER is undefined et tu pourras corriger l'erreur de typo).
Après, est-ce que ces données, qui viennent du client, sont non-fiables: le client peut très bien faire une requête où il définit X-Forwarded-For: mesGenoux... Il faudrait idéalement checker la bonne syntaxe de la valeur en plus de son existence (de mémoire, il y a des fonctions PHP qui le font, et je dirai que des composants déjà existants peuvent également s'occuper de récupérer l'IP du client).
Sinon, dans l'implé, array_key_exists sera plus approprié que isset car isset peut renvoyer null pour d'autres raisons qui peuvent échapper à la relecture (par exemple, une faute de frappe isset($SERVER['...']): cela renverra toujours false alors que array_key_exists($SERVER, '...') te diras que $SERVER is undefined et tu pourras corriger l'erreur de typo).
Après, est-ce que ces données, qui viennent du client, sont non-fiables: le client peut très bien faire une requête où il définit X-Forwarded-For: mesGenoux... Il faudrait idéalement checker la bonne syntaxe de la valeur en plus de son existence (de mémoire, il y a des fonctions PHP qui le font, et je dirai que des composants déjà existants peuvent également s'occuper de récupérer l'IP du client).