2016-12-24 3 views
0

title이라는 블레이드 섹션을 정의했습니다. 예를 들어 @section('title', 'Log in')과 같이 사용하면 <h1>Log in</h1>으로 인쇄됩니다. 그러나 일부 페이지에서는 제목이 사용자 입력 (즉, $subject)에 의해 결정됩니다. 나는 내가 @section('title', $subject->name)을 수행하면이 값이 내 사이트를 XSS 공격에 노출되도록 이스케이프 처리하지 않는다는 것을 발견했다. 어떻게 이것을 피할 수 있습니까?@seection 태그의 내용 이스케이프

답변

2

Laravel에서 e 도우미 함수를 사용하여 값을 이스케이프 처리 할 수 ​​있습니다. 당신이 뭔가를 할 수 있어야한다 :

@section('title', e($subject->name)) 

당신이 BladeCompiler 코드를 살펴 경우 Laravel 자체가 기본이 e(..)

로 출력 ( {{ }})를 탈출 변환하는 것을 볼 수 있습니다
관련 문제