r3017 - force "op" coordinate to be empty for all entry points except process.php
authorDenis Ovsienko <infrastation@yandex.ru>
Thu, 30 Jul 2009 07:49:03 +0000 (07:49 +0000)
committerDenis Ovsienko <infrastation@yandex.ru>
Thu, 30 Jul 2009 07:49:03 +0000 (07:49 +0000)
inc/init.php
process.php

index ac75584f3707e053ca5b587c3c9484d557872e65..e5c87b1c66c3f7ffb427c59a7f76a581bff87f38 100644 (file)
@@ -214,8 +214,7 @@ elseif (basename($_SERVER['PHP_SELF']) == 'index.php' and getConfigVar ('SHOW_LA
 else
        $tabno = 'default';
 
-$op = (isset ($_REQUEST['op'])) ? $_REQUEST['op'] : '';
-
+$op = '';
 require_once 'inc/navigation.php';
 require_once 'inc/triggers.php';
 require_once 'inc/gateways.php';
index 0caf05c093641808111be2890682a385b97b16ec..b2e8a7faafb579a023450ffdd71677491e16c4b0 100644 (file)
@@ -4,15 +4,17 @@ try {
 // Include init after ophandlers, not before, so local.php can redefine things later.
 require 'inc/ophandlers.php';
 require 'inc/init.php';
+assertStringArg ('op', __FILE__);
+$op = $_REQUEST['op'];
 
 // FIXME: find a better way to handle this error
-if ($_REQUEST['op'] == 'addFile' && !isset($_FILES['file']['error'])) {
+if ($op == 'addFile' && !isset($_FILES['file']['error'])) {
        showError ("File upload error, it's size probably exceeds upload_max_filesize directive in php.ini");
        die;
 }
 fixContext();
 
-if (!strlen ($op) or !isset ($ophandler[$pageno][$tabno][$op]))
+if (!isset ($ophandler[$pageno][$tabno][$op]))
 {
        showError ("Invalid request in operation broker: page '${pageno}', tab '${tabno}', op '${op}'", __FILE__);
        die();