Каждой атаке положен
официальный сайт. Вот, например.
Если использовать уникодные символы управления направлением вывода текста (слева направо интерпретировать кусок текста или справа налево), то можно добиться эффекта, когда человек, который ревьюит pull-request, увидит одно, а компилятор - совсем другое
(
Read more... )
Comments 14
Зачетненько.
Reply
Reply
Reply
Не особого удобства, а возможности выражать некоторые вполне легитимные потребности в двуязычном тексте. Например, они становятся нужны, когда в тексте на RTL-языке встречается слово из LTR-языка в скобках или кавычках. (Потому что нужно, чтобы LTR-островок начинался со скобки, а по умолчанию он начнётся с первой буквы.)
Поэтому запрещать bidi override нельзя, а читать надо не журналистский пересказ, а Unicode® Standard Annex #9: Unicode Bidirectional Algorithm.
Reply
Reply
Чтение стандарта даёт понимание происходящего несколько более конкретное, чем журналистского пересказа сайта, на который ссылка в исходном посте. (Который сам - журналистский пересказ статьи, выложенной на нём.)
А понимание - это как раз то, что и уберегает от атаки. Я вот себе выставил в среде отображение bidi override’ов наряду с пробелами и табами.
Reply
Leave a comment