반응형
blade 에서 호출 할 때는
보통 {{ ~~ }} 와 같이 호출하는데, escape 을 안 하고 그냥 그대로 보여주고 싶을 때에는 (주로 textarea 에서 사용) {!! $text !!} 와 같이 표현한다.
raw text 를 표출할 때 @{{ 블라블라 }} 로 사용하라고 하는데...
텍스트 내용 중에 {{ }} 와 같은 구문이 있어서, blade 구문과 혼동될 경우에 사용하는 것으로 보인다.
blade 의 {{ }} 구문은 기본적으로, htmlspecialchars 를 호출한다고 한다.
그러니까, Laravel 은 저장하는 단계에서는 XSS 를 방지하는 노력을 하지 않는다.
보여지는 단계에서만 {{ }} 를 통해서 방지하는 정도 (음...이게 더 맞는 방법인가?)
에디터를 사용했다면, 에디터 에서 변경된 값을 넣기 때문에, 보여지는 화면에서 오히려 {!! 을 사용하게 됨. 저장할 때 escape 하는 방식.
참고
- https://laravel.com/docs/5.0/templates
반응형
'개발 > 라라벨 Laravel' 카테고리의 다른 글
[라라벨] route:list 가 깨져서 나올 때. (0) | 2020.12.08 |
---|---|
Laravel 에서 Auth 관련 Router (0) | 2020.09.02 |
라라벨 Soft delete 안 되는 경우 중 하나 (0) | 2019.10.03 |
[라라벨 Laravel] 페이지네이션 방식이 변경됨. render() -> links () (2) | 2019.03.27 |
[라라벨 Laravel] PHP Fatal error: Uncaught ReflectionException: Class view does not exist in /vendor/laravel/framework/src/Illuminate/Container/Container.php (0) | 2019.03.02 |
[라라벨 Laravel] Laravel debugbar (0) | 2019.02.21 |
[Laravel] Laravel 셋팅 과정 메모 (0) | 2019.02.21 |
[Laravel] Laravel 5.4 -> 5.5 메모 (0) | 2019.02.21 |