ruby on rails - Regular expressions with validations in RoR 4 -
there following code:
class product < activerecord::base validates :title, :description, :image_url, presence: true validates :price, numericality: {greater_than_or_equal_to: 0.01} validates :title, uniqueness: true validates :image_url, allow_blank: true, format: { with: %r{\.(gif|jpg|png)$}i, message: 'url must point git/jpg/png pictures' } end it works, when try test using "rake test" i'll catch message:
rake aborted! provided regular expression using multiline anchors (^ or $), may present security risk. did mean use \a , \z, or forgot add :multiline => true option? what mean? how can fix it?
^ , $ start of line , end of line anchors. while \a , \z permanent start of string , end of string anchors.
see difference:
string = "abcde\nzzzz" # => "abcde\nzzzz" /^abcde$/ === string # => true /\aabcde\z/ === string # => false so rails telling you, "are sure want use ^ , $? don't want use \a , \z instead?"
there more on rails security concern generates warning here.
Comments
Post a Comment