X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=index.php;h=21d5ed275354a052ed3df81dad4bff1b4b2c706c;hb=7ad21d3cc1e4761e385a24df73ac4943242ce4f0;hp=9fa749522df4992e288fdd3cf08ed9a1d14e7498;hpb=669f494922df170db2703f14222d1b8dc4813300;p=quix0rs-gnu-social.git diff --git a/index.php b/index.php index 9fa749522d..21d5ed2753 100644 --- a/index.php +++ b/index.php @@ -1,18 +1,18 @@ . */ @@ -23,12 +23,18 @@ define('LACONICA', true); require_once(INSTALLDIR . "/lib/common.php"); $action = $_REQUEST['action']; + +if (!$action || !preg_match('/^[a-zA-Z0-9_-]*$/', $action)) { + common_redirect(common_local_url('public')); +} + $actionfile = INSTALLDIR."/actions/$action.php"; if (file_exists($actionfile)) { - require_once($actionfile); - $action_class = ucfirst($action)."Action"; - call_user_func(array($action_class, 'handle'), $_REQUEST); + require_once($actionfile); + $action_class = ucfirst($action)."Action"; + $action_obj = new $action_class(); + call_user_func(array($action_obj, 'handle'), $_REQUEST); } else { - common_user_error(_t('Unknown action')); + common_user_error(_('Unknown action')); } \ No newline at end of file