13
V Rp f ! S COURTOIS - @pp

Vos Regexps sont fausses !

Embed Size (px)

DESCRIPTION

Je montre ici une simple mesure de sécurité concernant les expressions régulières de validation.

Citation preview

Page 1: Vos Regexps sont fausses !

V! R"#$p% %&'( f)*%%"% !S+,&' COURTOIS - @-)pp.'&/

Page 2: Vos Regexps sont fausses !

^...$

Page 3: Vos Regexps sont fausses !

^...$

class User < ActiveRecord::Base attr_accessible :email

validates :email, presence: true, uniqueness: true, format: { with: / /i }end

http://www.regular-expressions.info/email.html

^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$

Page 5: Vos Regexps sont fausses !

^...$

Page 6: Vos Regexps sont fausses !

ˆ...$

http://ruby-doc.org/core-1.9.3/Regexp.html

Anchors

^ - Matches beginning of line$ - Matches end of line

Page 7: Vos Regexps sont fausses !

^...$

hello

totoexemple.fr

hello

Page 8: Vos Regexps sont fausses !

\A...\Z

http://ruby-doc.org/core-1.9.3/Regexp.html

Anchors

^ - Matches beginning of line$ - Matches end of line\A - Matches beginning of string\Z - Matches end of string

Page 9: Vos Regexps sont fausses !

\A...\Z

class User < ActiveRecord::Base attr_accessible :email

validates :email, presence: true, uniqueness: true, format: { with: /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i }end

Page 10: Vos Regexps sont fausses !

\A...\Z

class User < ActiveRecord::Base attr_accessible :email

validates :email, presence: true, uniqueness: true, format: { with: /\A[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\Z/i }end

Page 12: Vos Regexps sont fausses !

\A...\Z

Page 13: Vos Regexps sont fausses !

M"r0+ !S+,&' COURTOIS - @-)pp.'&/