Question

Existe-t-il un moyen fiable de déterminer la provenance d'un utilisateur dans une application ASP.NET? Nous avons une application Web liée à deux endroits différents. Les deux liens se trouvent sur des domaines distincts et doivent dicter certaines autorisations utilisateur dans cette application. Voici ce que j'ai essayé jusqu'ici ...

Des idées? Je comprends que dans le grand schéma des choses, cela pourrait avoir une meilleure conception / structure globale. Ne postez pas de réponse suggérant que je modifie tout, car ce n’est pas une option.

Était-ce utile?

La solution

Il n’existe aucun moyen fiable de savoir d’où vient un utilisateur. Il ne s’agit pas uniquement d’une limitation ASP.NET, mais de l’ensemble des applications Web en général. L'URL référent peut être facilement usurpé afin qu'il ne soit pas fiable. Je pense que la meilleure option pourrait être un paramètre d’URL chiffré, ou un cookie si vous préférez.

Les deux pages doivent donc convenir de clés privées communes.

  1. Page1 utilisera la clé pour chiffrer son adresse et la passera à Page2
  2. Page2 vérifie la présence de ce paramètre et tente de le déchiffrer avec la même clé privée que celle utilisée pour chiffrer
  3. Si cela réussit, cela signifie que la page 2 sera capable de déterminer qui l'a appelée, sinon les données ont été falsifiées

Autres conseils

Sans que le navigateur transmette un référent ou utilise la chaîne de requête comme vous le décrivez, il n’ya aucun moyen de le savoir.

Une autre option consiste à avoir deux pages de destination différentes sur l'application ASP.NET. Les pages de destination peuvent définir les options de sécurité, puis être redirigées vers une page d'accueil commune. C’est un peu plus sûr que l’option de chaîne de requête.

Vous pouvez également placer une image 1x1 pixel sur les sites de référence extraite de votre site d'application ASP.NET. Le référent doit être transmis au script et vous pouvez ensuite définir un cookie sur la machine des utilisateurs, que vous pourrez ensuite référencer lorsqu'ils apparaîtront sur la page d'accueil de l'application.

scroll top