Question

L'un de notre application sera lancé dans un iframe, à l'intérieur et je suis salesforce avoir des problèmes avec l'accès au referer. Ils nous aiment faire des contrôles de referer, pour vous assurer que la demande provient de Salesforce nous avons reçu les adresses IP pour vérifier contre.

Mon problème est que chaque fois que je tente d'accéder au referer par l'une des deux méthodes suivantes:

HttpContext.Current.Request.ServerVariables["HTTP_REFERER"]
HttpContext.Current.Request.UrlReferrer

il me renvoie null.

Toutes les idées comment pourrais-je mettre la main sur le referer?

PS: Je suis conscient que vous pouvez usurper le referer, mais il fait partie de l'exigence

.
Était-ce utile?

La solution

Si je comprends bien la question que vous avez des sites clients qui font référence à votre site en intégrant iFrame dans leurs pages Web le point sur votre site. Vous souhaitez « garantir » que les demandes proviennent de la page d'accueil qui lui-même fait partie d'un ensemble désigné de sites. L'ensemble des sites désignés est décrit par un ensemble d'adresses IP. Est-ce que le couvrir?

Tricky

. Tout d'abord laisse supposer que vous avez un referer. Vous devrez acquérir le nom d'hôte de celui-ci (assez facile en utilisant le type de Uri). Ensuite, vous devez résoudre l'adresse IP du nom d'hôte en utilisant DNS (encore une fois pas trop difficile avec le framework .NET).

Bien sûr, vous devez obtenir un referer et qui est le bit le plus délicat. Les navigateurs ne placent pas toujours un en-tête de referer dans la demande. Cela est particulièrement vrai lorsque l'adresse de l'arbitre n'est pas dans le même domaine que le referer, ce qui est le cas ici. OIEau, c'est un Showstopper .

Une meilleure approche pour résoudre ce problème (et ne sont pas sujettes à l'usurpation d'identité) est d'utiliser une authentification à base de hachage. Ne pas être trop sophistiqué (si les exigences initiales ont ressenti le test referer suffisait de toute façon).

Autres conseils

A referrer est là seulement si la page a été demandée par un lien. Lorsqu'une page est ouverte dire à partir de la barre d'adresse dans un navigateur en tapant directement l'adresse (ou dans votre cas y régler la src. Du IFRAME), le referrer sera vide.

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