text_direction_code_point_in_literal 진단: 문자열 리터럴 속 텍스트 방향 코드 포인트
text_direction_code_point_in_literal 진단: 문자열 리터럴 속 텍스트 방향 코드 포인트
유니코드에는 텍스트의 방향을 바꾸는 특수 코드 포인트가 있어요. 이런 문자가 주석이나 문자열 리터럴에 숨어 있으면, 에디터에 보이는 모습과 컴파일러가 해석하는 방식이 달라져서 보안 취약점이 될 수 있어요. text_direction_code_point_in_literal은 문자열 리터럴에서 이런 경우를 잡아 주는 진단이에요.
본문
설명
분석기는 소스에 텍스트 방향 유니코드 코드 포인트가 포함된 것을 발견하면 이 진단을 만들어요. 이런 코드 포인트가 문자열 리터럴이나 주석 안에 있으면, 에디터에 보이는 모습과 다르게 해석·컴파일되어 보안 취약점으로 이어질 수 있어요.
예시
다음 코드는 라벨 문자열의 시작과 끝에 숨은 문자가 있어서 이 진단을 두 번 만들어요.
var label = 'Interactive text';
흔한 해결 방법
그 코드 포인트를 문자열 리터럴에 포함하려는 의도라면, 이스케이프해서 넣어요.
var label = '\u202AInteractive text\u202C';
그 코드 포인트를 문자열 리터럴에 넣으려는 의도가 아니라면, 그대로 제거해요.
var label = 'Interactive text';