Si vous regardez this la documentation MSDN il y a un exemple avec le code suivant:Intercepteurs de requête WCF: cet exemple MSDN présente-t-il un risque de sécurité?
// Define a change interceptor for the Products entity set.
[ChangeInterceptor("Products")]
public void OnChangeProducts(Product product, UpdateOperations operations)
{
if (operations == UpdateOperations.Add ||
operations == UpdateOperations.Change)
{
// Reject changes to discontinued products.
if (product.Discontinued) //<-- IS THIS BASED ON UNVERIFIED CLIENT DATA???
{
throw new DataServiceException(400,
"A discontinued product cannot be modified");
}
}
else if (operations == UpdateOperations.Delete)
{
// Block the delete and instead set the Discontinued flag.
throw new DataServiceException(400,
"Products cannot be deleted; instead set the Discontinued flag to 'true'");
}
}
Regardez le commentaire en majuscules. Ma question est: «Cette ligne est-elle dépendante des données fournies par le client ... et si oui, que pouvons-nous faire pour avoir une validation sécurisée»?
Merci d'avoir signalé un problème éventuel dans la documentation! –