Check for missing path_info, also use OC_Response for 404 error
This commit is contained in:
parent
76de92477f
commit
014895aeab
|
@ -7,13 +7,17 @@ if (array_key_exists('PATH_INFO', $_SERVER)){
|
||||||
}else{
|
}else{
|
||||||
$path_info = substr($_SERVER['PHP_SELF'], strpos($_SERVER['PHP_SELF'], basename(__FILE__)) + strlen(basename(__FILE__)));
|
$path_info = substr($_SERVER['PHP_SELF'], strpos($_SERVER['PHP_SELF'], basename(__FILE__)) + strlen(basename(__FILE__)));
|
||||||
}
|
}
|
||||||
|
if ($path_info === false) {
|
||||||
|
OC_Response::setStatus(OC_Response::STATUS_NOT_FOUND);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
if (!$pos = strpos($path_info, '/', 1)) {
|
if (!$pos = strpos($path_info, '/', 1)) {
|
||||||
$pos = strlen($path_info);
|
$pos = strlen($path_info);
|
||||||
}
|
}
|
||||||
$service=substr($path_info, 1, $pos-1);
|
$service=substr($path_info, 1, $pos-1);
|
||||||
$file = OC_AppConfig::getValue('core', 'remote_' . $service);
|
$file = OC_AppConfig::getValue('core', 'remote_' . $service);
|
||||||
if(is_null($file)){
|
if(is_null($file)){
|
||||||
header('HTTP/1.0 404 Not Found');
|
OC_Response::setStatus(OC_Response::STATUS_NOT_FOUND);
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -22,4 +26,4 @@ $app=$parts[2];
|
||||||
OC_App::loadApp($app);
|
OC_App::loadApp($app);
|
||||||
|
|
||||||
$baseuri = OC::$WEBROOT . '/remote.php/'.$service.'/';
|
$baseuri = OC::$WEBROOT . '/remote.php/'.$service.'/';
|
||||||
require_once(OC::$APPSROOT . $file);
|
require_once(OC::$APPSROOT . $file);
|
||||||
|
|
Loading…
Reference in New Issue