Conditions des règles de chiffrement
Les conditions de la règle de chiffrement déterminent si la règle doit être exécutée.
Une condition de règle de chiffrement doit retourner true si la règle doit gérer la requête HTTP ; sinon, elle doit retourner la valeur false.
Lorsque vous créez votre condition, gardez à l’esprit qu’une seule règle est exécutée par demande. Par conséquent, la condition doit être aussi générale ou spécifique que nécessaire pour fonctionner dans les circonstances prévues.
Remarque :
Soyez prudent lorsque vous effectuez des vérifications du contenu de la condition. Des vérifications excessives peuvent coûter cher au serveur proxy et entraîner une latence accrue lors de la gestion de demandes complexes.
La condition peut utiliser le type de méthode, le type de contenu, le chemin d’accès de l’URL ou n’importe quel paramètre de chaîne de requête d’URL pour déterminer si la règle doit gérer la demande. La condition a accès à ces champs via l’objet Demande . Avant de créer une condition de règle de chiffrement, assurez-vous d’avoir inspecté la demande du client et d’avoir compris les conditions nécessaires pour déclencher la règle.
Remarque :
Pour créer des règles efficaces, envisagez des moyens simples d’exclure les demandes que vous ne souhaitez pas évaluer par une règle. Créez votre condition pour qu’elle retourne d’abord la valeur false pour ces demandes. Cette méthode augmente les performances et achemine rapidement la demande vers la règle appropriée.
Objets de règles de chiffrement et API sont disponibles pour les conditions de règle de chiffrement.
Exemple utilisant path et postParams
/*This condition checks if the request coming in has a path ending in
"/sample_processor.do" and if a post parameter exists in that request called myPostParam */
function SampleCondition(request) {
if (endsWith(request.path, "/sample_processor.do") && request.postParams.myPostParam) {
return true;
}
return false;
}Exemple d’utilisation de urlParams et contentType
/* This condition checks if a url parameter exists in the query called
myUrlParam and if the content type contains 'xml'
(if so, you can expect the body to be an XML payload).
Then, it checks if the xml payload contains myXmlTag */
function SampleCondition2(request) {
if (request.urlParams.myUrlParam && request.contentType.indexOf('xml') > -1 && request.xmlContains('myXmlTag')) {
return true;
}
return false;
}