Aide CRM

Améliorations de la sécurité de la structure d'API Zoho CRM

Un conseil pour les utilisateurs de l'API Zoho CRM.

Zoho CRM apporte quelques améliorations à la sécurité pour son API le 8 avril 2017. Ces améliorations nécessitent que les utilisateurs de l'API encodent certains caractères comme une valeur de paramètre. La liste détaillée des caractères est présentée plus loin. Ces caractères, s'ils sont utilisés comme valeurs de paramètres, ne seront plus admis comme sûrs après cette mise à jour.

Par conséquent, nous vous recommandons vivement d'examiner vos appels d'API et d'encoder les caractères non sûrs avant le 8 AVRIL 2017. Dans le cas contraire, une rupture des appels d'API existants pourrait survenir.

Pourquoi le codage est nécessaire

Lorsque vous utilisez des caractères non sûrs pour vos appels d'API, vous vous exposez à des problèmes de sécurité. Voici une brève description de ce à quoi vous vous exposez lorsque vous utilisez des caractères non sûrs :

The code that parses the HTTP request line permits invalid characters. This could be exploited, in conjunction with a proxy that may also permit the invalid characters but with a different interpretation, in order to inject data into the HTTP response. By manipulating the HTTP response, an attacker could poison a web-cache, perform an XSS attack, and/or obtain sensitive information from requests other than their own.

C'est pourquoi nous apporterons ces améliorations en matière de sécurité le mois prochain. Par conséquent, nous vous encourageons à encoder les caractères risqués dans vos appels d'API avant le 8 avril 2017.

Caractères à encoder

La liste suivante répertorie les caractères sûrs et non sûrs. Les caractères non sûrs doivent être encodés.

Caractères sûrs ne nécessitant pas d'être encodés :

  • Caractères alphanumériques : [0-9 a-z A-Z]
  • Caractères spéciaux : $ -_ . + ! * ' ( ) ,
  • Caractèresréservés lorsqu'ils sont utilisés pour leurs fins spécifiques (p. ex. / ? : = &)

Les caractères non sûrs devant être encodés

  • Caractères de contrôle ASCII :
    ISO-8859-1 (ISO-Latin) Plages de caractères 00-1F hex (0-31 décimal) et 7F (127 décimal.)
  • Caractères non-ASCII :
    Toute la « moitié supérieure » de l'ensemble ISO-Latin 80-FF hex (128-255 décimal).
  • Caractères non sûrs
    Espaces vides et " <> # % { } ^ \ | ~ [ ] `
  • Caractèresréservés lorsqu'ils NE SONT PAS utilisés pour leurs fins spécifiques.

Considérons par exemple l'URL suivante :

URL incorrecte :

https://crm.zoho.com/crm/private/xml/Leads/searchRecords?authtoken=<authtoken>&criteria=(Last Name:Amelia{Burrows)

Dans Amelia{Burrows), selon la liste ci-dessus { est un caractère non sûr. Si vous n'encodez pas ce caractère, cela résultera en une erreur une fois les améliorations apportées à la sécurité.

Ce caractère doit être encodé comme %7B.

URL correcte :

La valeur du paramètre incorrecte a été encodée. L'URL correcte est la suivante :

https://crm.zoho.com/crm/private/xml/Leads/searchRecords?authtoken=<authtoken>&criteria=%28Last+Name%3AScott%7BBurrows%29

Reportez-vous à la liste ci-dessus pour repérer les caractères non sûrs et les encoder dans vos URL correctement avant le 8 avril 2017.

Comment encoder

La procédure pour encoder les caractères dans différents langages est indiquée ci-dessous.

Langage Script
JAVAURLEncoder.encode("(Nom:Amelia{Burrows)", "UTF-8");
RubyURI ::encode("(Nom:Amelia{Burrows)")
PHPurlencode("(Nom:Amelia{Burrows)")

Si vous avez des questions, veuillez nous écrire à l'adresse support@zohocrm.com

Share this post : FacebookTwitter

Vous ne trouvez toujours pas ce que vous cherchez?

Écrivez-nous: support@zohocrm.com