Question

Est-il possible de vérifier qui entre sur votre site Web en PHP? J'ai une application Web (écrite en PHP) qui ne devrait autoriser que les utilisateurs qui accèdent à certains sites Web. Est-il possible d'obtenir les sites Web de parrainage en examinant l'objet _Request ? Si oui, comment?

Était-ce utile?

La solution

Oui, mais gardez à l'esprit que certains mandataires et autres éléments suppriment ces informations et qu'elles peuvent être facilement falsifiées. Donc, ne comptez jamais dessus. Par exemple, ne pensez pas que votre application Web est sécurisée contre CSRF , car vous cochez la case référent correspondant à votre propre serveur.

$referringSite = 

Oui, mais gardez à l'esprit que certains mandataires et autres éléments suppriment ces informations et qu'elles peuvent être facilement falsifiées. Donc, ne comptez jamais dessus. Par exemple, ne pensez pas que votre application Web est sécurisée contre CSRF , car vous cochez la case référent correspondant à votre propre serveur.

<*>

Si vous souhaitez n'autoriser que les demandes provenant d'un domaine spécifique, vous devez analyser une partie de l'URL pour obtenir le domaine de niveau supérieur. Comme j'en ai appris davantage, cela peut être fait avec PHP parse_url () .

Comme le font andyk dans les commentaires, vous devez également autoriser www.example.com et donner un exemple. com.

SERVER['HTTP_REFERER']; // is that spelt wrong in PHP ?

Si vous souhaitez n'autoriser que les demandes provenant d'un domaine spécifique, vous devez analyser une partie de l'URL pour obtenir le domaine de niveau supérieur. Comme j'en ai appris davantage, cela peut être fait avec PHP parse_url () .

Comme le font andyk dans les commentaires, vous devez également autoriser www.example.com et donner un exemple. com.

Autres conseils

Bien que vous puissiez consulter $ _ SERVER ['HTTP_REFERER'] pour obtenir le site référent, ne pariez pas la ferme dessus. Le navigateur définit cet en-tête et il est facile à usurper.

S'il est essentiel que seules les personnes provenant de certains référents voient votre site, n'utilisez pas cette méthode. Vous devrez trouver un autre moyen, tel que l’authentification de base, pour protéger votre contenu. Je ne dis pas que vous ne devriez pas utiliser cette technique, mais gardez à l’esprit que ce n’est pas infaillible.

BTW, vous pouvez également bloquer les référents au niveau Apache en utilisant mod_rewrite .

Vous ne pouvez pas faire confiance au référent. Bien qu’il provienne du tableau $ _ SERVER , il s’agit en réalité d’une valeur fournie par l’utilisateur / navigateur et est facilement falsifiée, en utilisant des éléments tels que Firefox Addon RefControl .

Vous devez examiner le tableau $ _SERVER pour la clé 'HTTP_REFERER'.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top