Mon service peut utiliser des informations de référence pour indiquer à partir de quel site web une requête est effectuée, et je voudrais m'assurer qu'il n'y a aucun moyen de truquer les informations de référence.Est-il possible de fausser les informations de renvoi envoyées par les navigateurs Web?
Répondre
Il est facilement usurpé, donc je ne compterais pas là-dessus pour quelque chose d'important.
Le client est libre de vous envoyer toutes les données qu'il souhaite. Vous devriez - jamais - faire confiance à ce que le navigateur envoie.
It is possible. Il n'y a rien que vous puissiez faire pour empêcher les navigateurs de truquer ces données.
Il existe plusieurs façons de simuler les informations envoyées par le client. La règle la plus fondamentale d'acceptation des informations d'un client est: ne faites pas confiance au client.
Jamais.
Les navigateurs peuvent truquer, entre autres, leur chaîne User-Agent et référent (l'orthographe correcte, la fonction PHP est sur la faute de frappe la plus prolifique prolonge).
Le référent peut être facilement usurpé.
L'utilisation d'un référent est très peu fiable en tant que méthode de vérification.
Il existe un plugin firefox appelé refspoof pour le faire très facilement.
outils de ligne de commande Même comme wget ont des options pour le faire: --referer=url
En fait, la source originale de la faute de frappe est dans la spécification HTTP. Je ne peux pas blâmer celui-ci sur PHP. – Asaph
Voici un lien vers la spécification HTTP avec la faute de frappe. - http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.36 – Asaph
@ Asaph, sérieusement? Je n'avais jamais vraiment pensé à vérifier * passé * la faute de frappe de PHP. Toutes ces années de malédiction mal orientées ... gosh, est-ce que je me sens idiot, maintenant. =/ –