http_referer perdu à l'aide de https
Image de deux pages web, à la fois visualisés à l'aide de https. Ils résident dans des domaines différents.
Comment puis-je (raisonnablement) de s'assurer que quelqu'un d'arriver à ma page via un lien hypertexte qui réside sur un autre (spécifique) de domaine? Je ne veux autoriser le trafic à partir de ce domaine. Toutes les idées sur la meilleure façon d'y parvenir serait appréciée.
J'ai essayé de regarder le HTTP_REFERER, mais apparemment il n'est pas envoyé dans ce cas. Je sais que le HTTP RFC spécifie de ne pas envoyer le référent info de https -> http, mais cela vaut-il pour https -> https pour l'ensemble des domaines ou ssl cert?
Mon domaine s'exécute sur l'ASP.NET si il le faut. Je n'ai pas de contrôle sur le domaine source.
Merci.
- Referer est facilement usurpée, je ne le recommande pas
- Je sais que le référent peut être usurpée. Je comprends que je ne peux pas garder tout le monde. J'ai besoin d'une solution qui fonctionne assez bien pour garder le hasard curieux et empêcher les gens de bookmarking le site cible, les forçant à arriver via le site je n'ai aucun contrôle sur.
Vous devez vous connecter pour publier un commentaire.
De s'attarder sur les véhicules à immatriculation multilatérale réponse: vous devriez mettre HMAC (RFC 2104) dans l'URL. Avoir un secret partagé entre les deux serveurs et le serveur d'origine de générer des liens de la forme /timestamp/hmac/chemin d'accès. Le hmac doit être vérifiée à partir de l'algorithme hmac(clé, timestamp+chemin d'accès), de sorte que les différentes images de générer différents hmac. Le serveur cible peut alors décider si le timestamp est assez jeune provenir d'une redirection.
Vous pouvez restreindre davantage qu'en mettant l'adresse IP du client dans le hmac, requring que le même client qui a reçu l'URL est aussi de les résoudre. Qui peuvent être sujettes à l'erreur, même si, en présence de proxy HTTP qui ne traiter que http et non https, ou vice versa.
De savoir si ou de ne pas les Rfc permettre l'envoi de http_referer ou pas, vous verrez que beaucoup de clients web et/ou les procurations ou d'autres liées à la confidentialité des passerelles entre elle et le serveur de supprimer ou d'usurper le http_referer dans l'en-tête, arrachant la plupart des http_referer "basé sur l'authentification" régime partiellement fonctionnel au mieux.
Si vous avez quelques collaboration avec le gardien du premier serveur https, vous pouvez d'accord sur le passage du temps,+something_else à base de code de hachage de tri dans les demandes de votre serveur. En vérifiant le hashcode sur votre fin, vous aurez votre https visiteur venu de l'autre serveur [très récemment].
Si vous avez pas de contrôle sur le site de référence, vous êtes hors de la chance.
Renifler le référent si vous le pouvez, et si il n'est pas présent jeter une page d'atterrissage: "cliquez ici pour aller au site Un de sorte que vous pouvez revenir ici".
En outre, passer un peu de temps de travail sur une méthode plus solide pour accéder à votre "sécuriser" du site.