Question

J'ai une page et des méthodes Web. Je peux utiliser le texte de la page aspx via ScriptManager. Je me demande si quelqu'un peut accéder à ces méthodes depuis l'extérieur de la page, si c'est comment puis-je sécuriser les méthodes Web?

Était-ce utile?

La solution

Sécuriser complètement les méthodes Web n'est pas possible. Après tout, si vous y accédez depuis votre page Web, vous accédez directement depuis le navigateur du client.

Vous pouvez ajouter un paramètre supplémentaire qui doit contenir une sorte de mot de passe / jeton à usage unique et en générer un lorsque la page est rendue. Il sera donc plus difficile pour quelqu'un de continuer à utiliser votre service Web sans visiter réellement votre site.

Autres conseils

Vos méthodes Web auront le même type de sécurité que vos pages Web. Si vous devez vous assurer que leur accès est sécurisé, recherchez une session valide, un utilisateur authentifié, etc. avant d'autoriser l'action. La requête à la méthode Web doit inclure les différents cookies nécessaires pour déterminer si l'utilisateur à l'origine de la requête a été authentifié. En fonction de l'identité de l'utilisateur authentifié, de ses rôles, etc., vous pouvez déterminer si la demande doit être traitée. Si vous utilisez Web Config pour sécuriser vos pages, la sécurité s'appliquant à la page doit également s'appliquer aux méthodes Web de la page.

Notez que vous ne pouvez pas garantir que quelqu'un n'émettra pas simplement la demande, indépendamment du navigateur (c'est-à-dire que la demande provient toujours de l'interface utilisateur de votre application). Vous devez effectuer les mêmes types de contrôles de sécurité que pour toutes vos pages.

Notez ici que je parle de la sécurisation des méthodes Web ajoutées à une page ASPX. Pour les services Web , l'authentification et l'autorisation peuvent être gérées de manière totalement différente. Par exemple, des informations d'identification peuvent être requises pour chaque demande et peuvent faire partie d'une "enveloppe". ou un paramètre sur la méthode elle-même. La sécurisation des services Web est probablement une question à part entière.

Oui, l'ajout de l'attribut WebMethod rend cette méthode appelable à distance, ce qui signifie que vous pouvez l'appeler en utilisant javascript, par exemple. En termes simples, vous ne devez pas exposer les méthodes Web que vous ne voulez pas que des tiers puissent appeler. Pour plus d'informations sur la sécurité et les services Web, consultez: http: // msdn .microsoft.com / fr-us / magazine / cc188947.aspx

Oui.

Mais vous pouvez sécurisez-les facilement .

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