I creat server and install apache & php (Centos 64bit 6.x) i will creat file test.js.php
// Send correct type
header('Content-Type: text/javascript; charset=UTF-8');
// Enable browser cache for 1 hour
header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 3600) . ' GMT');
if (! empty($_GET['scripts']) && is_array($_GET['scripts'])) {
foreach ($_GET['scripts'] as $script) {
// Sanitise filename
$script_name = 'js';
$path = explode("/", $script);
foreach ($path as $index => $filename) {
// Allow alphanumeric, "." and "-" chars only, no files starting
// with .
if (preg_match("@^[\w][\w\.-]+$@", $filename)) {
$script_name .= DIRECTORY_SEPARATOR . $filename;
}
}
// Output file contents
if (preg_match("@\.js$@", $script_name) && is_readable($script_name)) {
readfile($script_name);
echo ";\n\n";
}
}
}
And i will access this file with url http://124.x.x.x/js/test.js.php?scripts[]=jquery1.11.js
and server response error 403 Forbidden
Forbidden
You don't have permission to access /js/test.js.php on this server.
Apache/2.2.15 (CentOS) Server at xxxx.org Port 80
When i change scripts[]
to scripts
then working fine, but i want to know why my server response 403 if using scripts[]
on URI?
Any ideal?