Чтобы обеспечить безопасность при использовании CompareString в международных приложениях, рекомендуется проверять строки на допустимость перед их использованием и предоставлять обработчики ошибок. 23
Некоторые меры, которые могут помочь:
- Использовать CompareStringEx или версию CompareString в Unicode. 23 CompareStringEx предпочтительнее, так как корпорация Microsoft переходит на использование имён языкового стандарта вместо идентификаторов языкового стандарта для новых языковых стандартов. 23
- Избегать использования небезопасных кодовых страниц. 1 Например, кодовых страниц 5022x (iso-2022-x), которые допускают несколько представлений одной строки. 1
- Реализовать механизмы безопасности или алгоритмы проверки символов. 1 Так как нормализация Юникода может изменить форму строки, эти механизмы обычно внедряют после нормализации. 1
Неправильное использование CompareString может поставить под угрозу безопасность приложения. 23