2016-06-14 2 views
1

레일에서 sanitize은 무엇을 의미합니까?Rails에서`sanitize` 란 무엇입니까?

CanCanCan에 대한 설명서를 읽고 있습니다. 그것은 말한다 : 작성 : 업데이 트를

하는 당신 같은 행동에 레코드를 저장하기 전에 입력을 을 소독해야 strong_parameters 또는 레일 4+를 사용하는 경우.

그런 다음 문서 당, 그것은 아래의 추가가 필요합니다 :

load_and_authorize_resource param_method: :my_sanitizer 

def my_sanitizer 
    params.require(:article).permit(:name) 
end 

출처 : 나는 또한 SQL 쿼리의 영역에서 sanitize을 본 적이 https://github.com/CanCanCommunity/cancancan

.

sanitize의 의미는 실제로 무엇입니까? 그냥 무언가를 허용한다는 뜻입니까?

+1

살균이 응용 프로그램 여기 위생 만들기 위해 아무것도 청소를 의미한다. 따라서 응용 프로그램이 해킹 또는 응용 프로그램 오류와 같은 심각한 문제를 일으킬 수있는 원치 않는 데이터를 저장하지 않도록하십시오. http://guides.rubyonrails.org/security.html 여기에서 문서를 확인하십시오. http://apidock.com/rails/ActionView/Helpers/SanitizeHelper/sanitize – Abhinay

+1

또한 SO에 대한 주관적인 질문을 피하십시오. 이상적으로 당신은 당신의 코드에 관련된 문제를 물어야한다. 그래서 이것을 이미 알고 있어야한다. 건배!! – Abhinay

답변

1

SanitizeHelper 모듈은 원하지 않는 HTML 요소의 텍스트를 제거하는 일련의 메소드를 제공합니다. 이러한 도우미 메서드는 액션 뷰를 확장하여 템플릿 파일 내에서 호출 가능하게 만듭니다.

data = data.html_safe 문자열을 data as 'html_safe'으로 표시하고 나중에 문자열을 신뢰할 수있는 것으로 표시합니다 (추가 이스케이프 처리없이 문자열을 HTML에 삽입 함). 문자열에 악성 콘텐츠가 없는지 확인하는 것은 사용자의 책임입니다. 이 메서드는 뷰의 원시 도우미와 같습니다.이 메서드 대신에 sanitize를 사용하는 것이 좋으며 사용자 입력시 절대로 호출해서는 안됩니다.)

공식 API를 문서에서보세요 action view sanitize helper