때로는 어떤 텍스트 필드에도 스크립트가 포함될 우려가 있습니다. 스크립트가 여전히 데이터베이스에 저장되어 있기 때문에 sanitize
메서드를 사용할 수 있지만 오랫동안 사용할 수는 없습니다.텍스트 만 Rails에 입력
예를 들어, input
필드에서 레일스를 일반 텍스트 만 받아들이게하려면 어떻게해야합니까? 그리고 모두 <
또는 >
중 어느 것이 든 위험합니까?
감사합니다.
때로는 어떤 텍스트 필드에도 스크립트가 포함될 우려가 있습니다. 스크립트가 여전히 데이터베이스에 저장되어 있기 때문에 sanitize
메서드를 사용할 수 있지만 오랫동안 사용할 수는 없습니다.텍스트 만 Rails에 입력
예를 들어, input
필드에서 레일스를 일반 텍스트 만 받아들이게하려면 어떻게해야합니까? 그리고 모두 <
또는 >
중 어느 것이 든 위험합니까?
감사합니다.
당신은 당신의 모델 before_save
콜백
API 링크를 html_escape
수 있습니다.
당신은 당신이 올바르게 이스케이프되어 있는지 확인하기 위해이 같은 시간 도우미를 사용할 수있는 레일 2를 사용하는 경우 :
<%=h @model.input_data %>
http://apidock.com/rails/ERB/Util/html_escape 나는 당신이 다시보기의 데이터를 인쇄 할 때 다음 무료로 살균 효과를 얻을 레일 3 사용
을 기본적으로 레일에 3.0 이상, 모든 출력은 HTML을 탈출했다.
그러나 html/javascript 등으로 데이터베이스를 오염시키지 않으려는 경우 before_save callback을 활용할 것입니다.
<%= h @record.field %>
:
하면, 당신은 html_escape
를 사용하거나 h
별명 < 레일 (3)을 사용하는 경우