이스케이프 Jelly(인스턴스 보안 강화)

  • 릴리스 버전: Washingtondc
  • 업데이트 날짜 2024년 02월 01일
  • 읽기1분
  • glide.ui.escape_all_script 속성을 사용하여 Jelly에 삽입된 모든 스크립트를 강제로 이스케이프합니다.

    <j:jelly>에 포함 된 모든 JS 및 HTML 문자열을 이스케이프합니다 . </j:jelly> 출력 스트림에 기록되기 전에 여러 XSS 문제가 발생하지 않도록 합니다.

    추가 정보

    속성 설명
    속성 이름 glide.ui.escape_all_script
    구성 유형 시스템 속성(/sys_properties_list.do)
    인스턴스 보안 센터에서 구성
    목적

    속성이 true로 설정되지 않은 경우 개발자는 XSS 문제를 방지하기 위해 각 사용자 지정 Jelly 스크립트에서 여러 단계를 수행해야 합니다. 이러한 단계에는 웹 페이지에서 렌더링하기 위해 출력 스트림으로 전송되는 Jelly 변수를 찾고 다음 각 태그에서 이스케이프를 수행하는 작업이 포함됩니다.

    $â {JS:expression}

    $â {HTML:expression}

    또는

    $â {JS,HTML:표현식}

    권장 값 true
    기능적 영향 (중간) 이 수정은 파서 수준에서 Jelly 이스케이프를 적용합니다. 결과 데이터와의 사용자 상호 작용에 기능에 영향을 줄 수 있습니다.
    보안 위험 (높음) 입력 유효성 검사는 애플리케이션에 입력되는 모든 사용자 입력에 대해 발생해야 합니다. 이렇게 하면 플랫폼에 대한 주입 공격을 방어하고 보호할 수 있습니다.
    임시 해결책

    웹 페이지에서 렌더링하기 위해 디자인된 일부 스크립트 및 HTML 태그가 깨진 것처럼 보일 수 있기 때문에 UI가 영향을 받을 수 있습니다. 이 수정은 렌더링할 출력으로 인코딩된 페이지를 브라우저로 보냅니다.

    예를 들어 태그가 제대로 이스케이프되었으므로 'my string here' 대신 '<u>my string here</u> '가 <u> 표시될 수 있습니다. 이 경우 이스케이프를 방지하려면 JS 이스케이프를 방지하기 위해 Jelly 식에 NOESC 접두사를 추가합니다. 예:
    • 이전: ($[jvar_context_menus]);
    • 이후: ($[NOESC:jvar_context_menus]);
    • 이전: $[jvar_ui_policy_scripts]
    • 이후: $[NOESC:jvar_ui_policy_scripts]
    참조

    높은 보안 설정

    Jelly 태그

    시스템 속성 추가 또는 생성에 대한 자세한 내용은 을 참조하십시오 Add a system property.