J'essaye de 'AJAX-ify' mon site afin d'améliorer l'expérience de l'interface utilisateur. En termes de performance, j'essaie également de me débarrasser du UpdatePanel. Je suis tombé sur un excellent article sur Encosia montrant une façon de poster en utilisant PageMethods. Ma question est la suivante: dans quelle mesure les méthodes de page sont-elles sécurisées dans un environnement de production? Etant public, quelqu'un peut-il créer un script JSON pour POST directement sur le serveur, ou y a-t-il des vérifications entre domaines? My PageMethods écrirait également les données dans la base de données (après le filtrage). J'utilise l'authentification par formulaires dans mes pages et, lors du chargement de la page, elle redirige les utilisateurs non authentifiés vers la page de connexion. Est-ce que les méthodes de page sur cette page doivent également vérifier l'authentification si l'utilisateur envoie directement à la méthode, ou est-ce que cette authentification est héritée pour la page entière? (Essentiellement, le cycle entier de page se produit-il même si un utilisateur a réussi à publier seulement à la PageMéthode)?PageMethods sécurité
Merci
Vous ignorez CSRF. – SLaks
@Slaks - Je ne pense pas. Les méthodes REST requièrent un type de contenu application/json. Vous ne pouvez pas accomplir cela avec un exploit CSRF ou XSS. Il m'a fallu un certain temps pour trouver des preuves corroborantes - voir http://weblogs.asp.net/scottgu/archive/2007/04/04/json-hijacking-and-how-asp-net-ajax-1-0 -mitigates-ces-attaques.aspx –
Salut Sky Sanders. My PageMethod est conçu pour permettre aux utilisateurs de mettre à jour leurs paramètres de profil. J'utilise toujours POST (même lors de la récupération des données) et m'assure que le contentType est défini. Le gestionnaire de page est une norme.gestionnaire d'aspx, où IsAuthenticated est vérifié au chargement de la page. Quand vous dites que FormsAuthentication protégera tout sauf la page de connexion, cela signifie-t-il que l'IsAuthenticated (dans le chargement de la page) sera hérité par la méthode Page, puisqu'ils sont tous les deux sur la même page? – keyboardP