2007. 12. 29, szombat keltezéssel 15.36-kor AmirBehzad Eslami ezt írta:
> In case you haven't realized it, I have already written two functions
> to check
> for a prefix !! The question is: Which function is better?
> (is_prefix1() or is_prefix2())

ehh, sorry I did not read your mail carefully before replying... must be
because it's saturday but I have to work ;)

your function is_prefix2() is almost the same as what I've written. I
think that would be better, but that's just personal taste, actually I
don't think there would be significant difference in performance between
the two functions.

greets
Zoltán Németh

>  
> On 12/29/07, Zoltán Németh <[EMAIL PROTECTED]> wrote: 
>         2007. 12. 29, szombat keltezéssel 13.39-kor AmirBehzad Eslami
>         ezt írta:
>         > I want to write a function to check 
>         > whether string $A is a prefix for string $B or not.
>         
>         if (strpos($B, $A) === 0) {
>         echo '$B begins with $A';
>         } else {
>         echo '$B does not begin with $A';
>         }
>         
>         greets
>         Zoltán Németh 
>         
>         >
>         > I writing this function in order to prevent directory
>         traversal
>         > during a download request. (e.g.,
>         download.php?file=..\index.php)
>         >
>         > I want to make sure that the realpath() of the requested
>         file is 
>         > within the realpath() of the download-directory. Trying to
>         make
>         > sure that the the $download_dir is a prefix for $filepath.
>         >
>         > @see: http://en.wikipedia.org/wiki/Directory_traversal
>         > **
>         > *TWO FUNCTIONS:*
>         >
>         > function is_prefix1($prefix, $str) {
>         >     return (0 == strncasecmp($prefix, $str,
>         strlen($prefix)));
>         > } 
>         >
>         > function is_prefix2($prefix, $str) {
>         >     return (0 === stripos($str, $prefix));
>         > }
>         > *USAGE:*
>         > if (is_prefix1('a', 'abcdef'))
>         >  echo 'prefix1 returned True!', '<br />'; 
>         >
>         > if (is_prefix2('a', 'abcdef'))
>         >  echo 'prefix2 returned True!', '<br />';
>         >
>         > ------------------------
>         > Do these functions do the same job?
>         > Which one provides better performance?
>         >
>         > -behzad
>         
> 

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to