레이아웃 content 부분에 autoescape 추가하니 위젯 코드 그냥 다 노출되는데 이거 어떻게 쓰는 건가요?

 

기존대로 그냥 content로 쓰면 보안이 취약하다고 해서 적용해보려고 했는데..

 

보안을 위해서는 이제 위젯 코드 자체를 레이아웃 html에 넣어야 쓸 수 있는 건지..

  • Lv36

    https://xe1.xpressengine.com/devlog/23277227

    레이아웃에서 autoescape를 쓰려면 $content 변수에는 반드시 noescape 옵션을 넣어 주어야 합니다.

  • Lv36 ?
    noescape 옵션을 넣으면 그냥 현재 content만 있는 상태랑 다를 게 없다고 들었는데 그건 아닌가 보군요..?
  • ? Lv36

    $content에 한해서는 다를 게 없어야 합니다.
    당연히 HTML이 들어가야 하는 변수를 escape해버리면 안되지요.
    해킹을 막는다고 인터넷선을 아예 뽑아 버리는 꼴이니...

    $content 이외에 메뉴나 그 밖의 변수를 출력하는 부분은
    autoescape 설정을 하면 보호할 수 있습니다.

  • Lv36 ?
    이해했습니다. 이번 패치가 그럼 html이 들어가지 말아야 할 곳에 적용하는 보안 옵션을 추가한 거였군요!