Re[2]: [PHP] check if a file is included

From: Date: Mon, 15 Sep 2008 15:32:21 +0000
Subject: Re[2]: [PHP] check if a file is included
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-280183@lists.php.net to get a copy of this message
Greetings, Jochem Maas. In reply to Your message dated Friday, September 12, 2008, 17:05:58, >> actually $_SERVER[script_name] is probably better if not being used from >> a webserver. >> > you didn't mention wanting to use the cmdline. > untested code follows: > <?php > function indirectCall($s) > { > if (php_sapi_name() == 'cli') { > return strstr($s, $argv[0]) !== false; > } else { > return strstr($s, $_SERVER["REQUEST_URI"]) !== false; > } > } Actually, it must be (Windows-proof): <?php function indirectCall($s) { return (strtr($s, '\\', '/') != strtr($_SERVER['SCRIPT_FILENAME'], '\\', '/')); } if(!indirectCall(__FILE__)) { // we got you there, fool! } ?> For those who do not know: Windows support both back- and forward slashes as directory separators. Since DOS 3.3 at least. Even php.exe -f "//host/share/script.php" works. -- Sincerely Yours, ANR Daemon <anrdaemon@freemail.ru>

« previous php.general (#280183) next »