跳到主要內容

text_direction_code_point_in_comment

Unicode 碼點 'U+{0}' 會改變文字的外觀,使其與編譯器解釋的方式不同。

描述

#

當分析器遇到包含文字方向 Unicode 碼點的原始碼時,會產生此診斷。這些碼點會導致字串字面量或註釋中的原始碼被解釋和編譯的方式與在編輯器中顯示的方式不同,從而可能導致安全漏洞。

示例

#

以下程式碼會產生此診斷兩次,因為在標籤字串的開頭和結尾處存在隱藏字元

dart
var label = 'Interactive text';

常見修復方法

#

如果碼點打算包含在字串字面量中,則對其進行轉義

dart
var label = '\u202AInteractive text\u202C';

如果碼點不打算包含在字串字面量中,則將其刪除

dart
var label = 'Interactive text';