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