<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"><base href="x-msg://2416/"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">It is correct, and it does detect reverses.<div>-Abbas<br><div apple-content-edited="true">
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div style="font-weight: normal; "><div>______________________________________________________________</div><div><b>Notice:</b><b> </b>This message is <b>digitally signed</b>, its <b>source</b> and <b>integrity</b> are verifiable.</div><div>If you mail client does not support S/MIME verification, it will display a file (smime.p7s), which includes the X.509 certificate and the signature body.  Read more at <a href="http://abiusx.com/certified-e-mail-with-comodo-and-thunderbird/">Certified E-Mail with Comodo and Thunderbird</a> in <a href="http://AbiusX.com">AbiusX.com</a></div></div></div></span></div></span></div></span></div></span></div></span></div></span></div></span></div></span></div></span></div></span>
</div>
<br><div><div>On Aug 29, 2013, at 3:40 AM, "Howell, Roger (Student)" <<a href="mailto:howelrtc@aston.ac.uk">howelrtc@aston.ac.uk</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; ">I believe that length refers to the threshold length at which the function triggers a "detection".<div><br></div><div>For example, a length of 4 might permit "rabbit" (ab, length 2) and "definite" (def, length 3) but not permit "mnopoly" (mnop, length 4).</div><div><br></div><div>It is not immediately clear to me whether the code detects reverse-alphabetical sequences such as "federal" (fed). </div><div><br></div><div>Kind regards,</div><div>Roger</div><br><br><br>Minhaz A V <<a href="mailto:minhazav@gmail.com">minhazav@gmail.com</a>> wrote:<br><br><br><div dir="ltr"><div><b>I found this piece of code in user.php in auth library</b></div><div><font color="#38761d">/**</font></div><div><font color="#38761d"><span class="" style="white-space: pre; "></span>* To check if the string has ordered characters i.e. strings such as "abcd".</font></div><div><font color="#38761d"><span class="" style="white-space: pre; "></span>* @param String $string</font></div><div><font color="#38761d"><span class="" style="white-space: pre; "></span>* @param int $length</font></div><div><font color="#38761d"><span class="" style="white-space: pre; "></span>* @return boolean</font></div><div><font color="#38761d"><span class="" style="white-space: pre; "></span>*/</font></div><div><span class="" style="white-space: pre; "></span><font color="#351c75">public static function hasOrderedCharacters($string,<span class="Apple-converted-space"> </span><b>$length</b>)</font></div><div><font color="#351c75"><span class="" style="white-space: pre; "></span>{</font></div><div><font color="#351c75"><span class="" style="white-space: pre; "></span><b>$length=(int)$length;</b></font></div><div><span class="" style="white-space: pre; "><font color="#351c75"></font></span></div><div><font color="#351c75"><span class="" style="white-space: pre; "></span>$i = 0;</font></div><div><font color="#351c75"><span class="" style="white-space: pre; "></span>$j = strlen($string);</font></div><div><span class="" style="white-space: pre; "><font color="#351c75"></font></span></div><div><span class="" style="color: rgb(53, 28, 117); white-space: pre; "></span><font color="#274e13">//Group all the characters into length 1, and calculate their ASCII value. If they are continous, then they contain ordered characters.</font></div><div><font color="#351c75"><span class="" style="white-space: pre; "></span>$str = implode('', array_map(function($m) use (&$i, &$j)</font></div><div><font color="#351c75"><span class="" style="white-space: pre; "></span>{</font></div><div><font color="#351c75"><span class="" style="white-space: pre; "></span>return chr((ord($m[0]) + $j--) % 256) . chr((ord($m[0]) + $i++) % 256);</font></div><div><font color="#351c75"><span class="" style="white-space: pre; "></span>}, str_split($string, 1)));</font></div><div><span class="" style="white-space: pre; "><font color="#351c75"></font></span></div><div><font color="#351c75"><span class="" style="white-space: pre; "></span>return preg_match('#(.)(.\1){' . (<b>$length</b><span class="Apple-converted-space"> </span>- 1) . '}#', $str)==true;</font></div><div><font color="#351c75"><span class="" style="white-space: pre; "></span>}</font></div><div><font color="#351c75">---------------------------------------------------</font></div><div><font color="#351c75">Can you tell me whats this $length parameter exactly if not length of string??</font></div></div>_______________________________________________<br>OWASP_PHP_Security_Project mailing list<br><a href="mailto:OWASP_PHP_Security_Project@lists.owasp.org">OWASP_PHP_Security_Project@lists.owasp.org</a><br>https://lists.owasp.org/mailman/listinfo/owasp_php_security_project</div></blockquote></div><br></div></body></html>