bsc-projects-14.html
changeset 313 2a98e65de47a
parent 312 9506d4bc0a08
child 314 906895d3a415
equal deleted inserted replaced
312:9506d4bc0a08 313:2a98e65de47a
    62   &ldquo;<A HREF="http://en.wikipedia.org/wiki/ReDoS#Examples">evil</A>&rdquo;
    62   &ldquo;<A HREF="http://en.wikipedia.org/wiki/ReDoS#Examples">evil</A>&rdquo;
    63   and can &ldquo;stab you in the back&rdquo; according to
    63   and can &ldquo;stab you in the back&rdquo; according to
    64   this <A HREF="http://tech.blog.cueup.com/regular-expressions-will-stab-you-in-the-back">blog post</A>.
    64   this <A HREF="http://tech.blog.cueup.com/regular-expressions-will-stab-you-in-the-back">blog post</A>.
    65   For example, if you use in <A HREF="http://www.python.org">Python</A> or 
    65   For example, if you use in <A HREF="http://www.python.org">Python</A> or 
    66   in <A HREF="http://www.ruby-lang.org/en/">Ruby</A> (or also a number of other mainstream programming languages according to this
    66   in <A HREF="http://www.ruby-lang.org/en/">Ruby</A> (or also a number of other mainstream programming languages according to this
    67   <A HREF="http://www. computerbytesman.com/redos/">blog</A>) the 
    67   <A HREF="http://www.computerbytesman.com/redos/">blog</A>) the 
    68   innocently looking regular expression <code>a?{28}a{28}</code> and match it, say, against the string 
    68   innocently looking regular expression <code>a?{28}a{28}</code> and match it, say, against the string 
    69   <code>aaaaaaaaaaaaaaaaaaaaaaaaaaaa</code> (that is 28 <code>a</code>s), you will soon notice that your CPU usage goes to 100%. In fact,
    69   <code>aaaaaaaaaaaaaaaaaaaaaaaaaaaa</code> (that is 28 <code>a</code>s), you will soon notice that your CPU usage goes to 100%. In fact,
    70   Python and Ruby need approximately 30 seconds of hard work for matching this string. You can try it for yourself:
    70   Python and Ruby need approximately 30 seconds of hard work for matching this string. You can try it for yourself:
    71   <A HREF="http://www.dcs.kcl.ac.uk/staff/urbanc/cgi-bin/repos.cgi/afl-material/raw-file/tip/progs/re.py">re.py</A> (Python version) and 
    71   <A HREF="http://www.dcs.kcl.ac.uk/staff/urbanc/cgi-bin/repos.cgi/afl-material/raw-file/tip/progs/re.py">re.py</A> (Python version) and 
    72   <A HREF="http://www.dcs.kcl.ac.uk/staff/urbanc/cgi-bin/repos.cgi/afl-material/raw-file/tip/progs/re.rb">re.rb</A> 
    72   <A HREF="http://www.dcs.kcl.ac.uk/staff/urbanc/cgi-bin/repos.cgi/afl-material/raw-file/tip/progs/re.rb">re.rb</A> 
   610 </TD>
   610 </TD>
   611 </TR>
   611 </TR>
   612 </TABLE>
   612 </TABLE>
   613 
   613 
   614 <P>
   614 <P>
   615 <!-- hhmts start --> Last modified: Fri Sep 19 11:16:34 BST 2014 <!-- hhmts end -->
   615 <!-- hhmts start --> Last modified: Fri Sep 19 11:30:29 BST 2014 <!-- hhmts end -->
   616 <a href="http://validator.w3.org/check/referer">[Validate this page.]</a>
   616 <a href="http://validator.w3.org/check/referer">[Validate this page.]</a>
   617 </BODY>
   617 </BODY>
   618 </HTML>
   618 </HTML>