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