fork(1) download
  1. <?php
  2. function checkURL($me, $s) {
  3. $dir = dirname($me) . '/';
  4. // you may need to refine this
  5. $s = preg_filter(array('~^//~', '~/$~', '~\?.*$~', '~\.\./~'), array('', '', '', $dir), $s);
  6. // parse resulting URL
  7. $url = parse_url($s);
  8. var_dump($url);
  9. // match parsed URL's path with self
  10. return ($url['path'] === $me);
  11. }
  12.  
  13. // actual code
  14. //$me = str_replace('.php', '', $_SERVER['PHP_SELF']);
  15.  
  16. // hardcoded for demo
  17. $me = str_replace('.php', '', '/some-dir/page.php');
  18.  
  19. // assume this is the URL you are matching against
  20. $s = '../page/';
  21.  
  22. // compare $me with $s
  23. $ret = checkURL($me, $s);
  24. var_dump($ret);
  25. ?>
Success #stdin #stdout 0.01s 20568KB
stdin
Standard input is empty
stdout
array(1) {
  ["path"]=>
  string(14) "/some-dir/page"
}
bool(true)