Browse Source

Check filename before including for security reasons

Tobias Reich 9 years ago
parent
commit
fc4aebae98
1 changed files with 6 additions and 0 deletions
  1. 6 0
      php/autoload.php

+ 6 - 0
php/autoload.php

@@ -10,6 +10,9 @@ if (!defined('LYCHEE')) exit('Error: Direct access is not allowed!');
 
 function lycheeAutoloaderModules($class_name) {
 
+	$modules = array('Album', 'Database', 'Import', 'Log', 'Module', 'Photo', 'Plugins', 'Session', 'Settings');
+	if (!in_array($class_name, $modules)) return false;
+
 	$file = LYCHEE . 'php/modules/' . $class_name . '.php';
 	if (file_exists($file)!==false) require $file;
 
@@ -17,6 +20,9 @@ function lycheeAutoloaderModules($class_name) {
 
 function lycheeAutoloaderAccess($class_name) {
 
+	$access = array('Access', 'Admin', 'Guest', 'Installation');
+	if (!in_array($class_name, $access)) return false;
+
 	$file = LYCHEE . 'php/access/' . $class_name . '.php';
 	if (file_exists($file)!==false) require $file;