Devise에서 username 컬럼을 추가 할 때 Rails4 이후의 정규 표현식에서 유효성 검사에주의를 기울였습니다.
1988 단어 RailsRails4devise정규식Validation
공식에서는 추가 된 사용자 이름의 유효성 검사에 다음 정규식을 사용했습니다.
# app/models/user.rb
# Only allow letter, number, underscore and punctuation.
validates_format_of :username, with: /^[a-zA-Z0-9_\.]*$/, :multiline => true
그러나
:multiline => true
는 보안 문제입니다. 그렇지 않으면 이렇게됩니다.Rails Guide (6.6)에 따르면 Rails 4 이상에서는 ^, $ 대신 대신\A,\z를 사용하는 것이 좋습니다. 그래서 이렇게 바꾸자.
validates_format_of :name, with: /\A[a-zA-Z0-9_\.]*\z/
참고:
ht tp // 쥬 ぺr 흠 하테나 bぉg. 코m/엔트리/2013/06/27/062237
htp : // 굳이 s. 루병라이 LS. rg/세쿠리 ty. html
h tps : // s c ゔ ぇ rf ぉ w. 코 m / 쿠에 s 치온 s / 577653 / ぢ ふ れ せ せ ー ベ ー ー ー ー ー ー ~ an d ㅇ
Reference
이 문제에 관하여(Devise에서 username 컬럼을 추가 할 때 Rails4 이후의 정규 표현식에서 유효성 검사에주의를 기울였습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shuent/items/80554dce6de03f928e63텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)