]> git.mjollnir.org Git - moodle.git/commitdiff
Security related parameter cleanup in workshop code, please test it. No bug fixes...
authorskodak <skodak>
Wed, 19 Apr 2006 19:48:46 +0000 (19:48 +0000)
committerskodak <skodak>
Wed, 19 Apr 2006 19:48:46 +0000 (19:48 +0000)
mod/workshop/assess.php
mod/workshop/assessments.php
mod/workshop/submissions.php
mod/workshop/upload.php
mod/workshop/view.php
mod/workshop/viewassessment.php

index 2374b60782a1dff0a988235da552243f31f99ddb..814547973e9e8ebfa9ecbd1c386f71adeebfe976 100644 (file)
@@ -4,11 +4,11 @@
     require("lib.php");
     require("locallib.php");
 
-    $id = required_param('id',PARAM_INT);   // Submission ID
-    $allowcomments = optional_param('allowcomments', false);
-    $redirect = optional_param('redirect', '');
-    $frameset = optional_param('frameset','',PARAM_ALPHA);
-    $sid = optional_param('sid',0,PARAM_INT);
+    $id            = required_param('id', PARAM_INT);   // Submission ID
+    $allowcomments = optional_param('allowcomments', 0, PARAM_BOOL);
+    $redirect      = optional_param('redirect', '', PARAM_URL);
+    $frameset      = optional_param('frameset', '', PARAM_ALPHA);
+    $sid           = optional_param('sid', 0, PARAM_INT);
 
     if (! $submission = get_record('workshop_submissions', 'id', $sid)) {
         error("Incorrect submission id");
index 3cda3ebb5c715331cbcae1e0a2c84be0ed0bd443..476a9f208b59a9a29720cb8a94949add8982a1ad 100644 (file)
     require("lib.php");
     require("locallib.php");
 
-    $id = optional_param('id', 0, PARAM_INT);    // Course Module ID
-    $wid = optional_param('wid', 0, PARAM_INT);    // Workshop ID
-    $aid = optional_param('aid',0,PARAM_INT); 
-    $userid = optional_param('userid',0,PARAM_INT);
-    $cid = optional_param('cid',0,PARAM_INT ); // comment id
-    $sid = optional_param('sid',0,PARAM_INT); // submission id
-    $action = required_param( 'action',PARAM_ALPHA );
-    $elementno = optional_param( 'elementno',-1,PARAM_INT );
-    $stockcommentid = optional_param( 'stockcommentid',0,PARAM_INT );
+    $action         = required_param('action', PARAM_ALPHA);
+    $id             = optional_param('id', 0, PARAM_INT);    // Course Module ID
+    $wid            = optional_param('wid', 0, PARAM_INT);    // Workshop ID
+    $aid            = optional_param('aid', 0, PARAM_INT); 
+    $userid         = optional_param('userid', 0, PARAM_INT);
+    $cid            = optional_param('cid', 0, PARAM_INT ); // comment id
+    $sid            = optional_param('sid', 0, PARAM_INT); // submission id
+    $elementno      = optional_param('elementno', -1, PARAM_INT);
+    $stockcommentid = optional_param('stockcommentid', 0, PARAM_INT);
 
     // get some useful stuff...
     if ($id) {
@@ -84,7 +84,7 @@
 
         print_heading_with_help(get_string("addacomment", "workshop"), "addingacomment", "workshop");
         // get assessment record
-        if (!$assessmentid = $_REQUEST['aid']) { // comes from link or hidden form variable
+        if (!$assessmentid = $aid) { // comes from link or hidden form variable
             error("Assessment id not given");
         }
         $assessment = get_record("workshop_assessments", "id", $assessmentid);
@@ -95,7 +95,7 @@
         <form name="commentform" action="assessments.php" method="post">
         <input type="hidden" name="action" value="insertcomment" />
         <input type="hidden" name="id" value="<?php echo $cm->id ?>" />
-        <input type="hidden" name="aid" value="<?php echo $_REQUEST['aid'] ?>" />
+        <input type="hidden" name="aid" value="<?php echo $aid ?>" />
         <center>
         <table cellpadding="5" border="1">
         <?php
                     unset($element);
                     $element->workshopid = $workshop->id;
                     $element->assessmentid = $assessment->id;
-                    $element->elementno = $key;
+                    $element->elementno = clean_param($key, PARAM_INT);
                     $element->feedback   = $form->{"feedback_$key"};
                     $element->grade = $thegrade;
                     if (!$element->id = insert_record("workshop_grades", $element)) {
                     unset($element);
                     $element->workshopid = $workshop->id;
                     $element->assessmentid = $assessment->id;
-                    $element->elementno = $key;
+                    $element->elementno = clean_param($key, PARAM_INT);
                     $element->feedback   = $form->{"feedback_$key"};
                     $element->grade = $thegrade;
                     if (!$element->id = insert_record("workshop_grades", $element)) {
                         unset($element);
                         $element->description   = $description;
                         $element->workshopid = $workshop->id;
-                        $element->elementno = $key;
+                        $element->elementno = clean_param($key, PARAM_INT);
                         if (isset($form->scale[$key])) {
                             $element->scale = $form->scale[$key];
                             switch ($WORKSHOP_SCALES[$form->scale[$key]]['type']) {
                 foreach ($form->maxscore as $key => $themaxscore) {
                     unset($element);
                     $element->workshopid = $workshop->id;
-                    $element->elementno = $key;
+                    $element->elementno = clean_param($key, PARAM_INT);
                     $element->maxscore = $themaxscore;
                     if (isset($form->description[$key])) {
                         $element->description   = $form->description[$key];
                 foreach ($form->description as $key => $description) {
                     unset($element);
                     $element->workshopid = $workshop->id;
-                    $element->elementno = $key;
+                    $element->elementno = clean_param($key, PARAM_INT);
                     $element->description   = $description;
                     $element->weight = $form->weight[$key];
                     for ($j=0;$j<5;$j++) {
                     unset($element);
                     $element->workshopid = $workshop->id;
                     $element->assessmentid = $assessment->id;
-                    $element->elementno = $key;
+                    $element->elementno = clean_param($key, PARAM_INT);
                     $element->feedback   = $form->{"feedback_$key"};
                     $element->grade = $thegrade;
                     if (!$element->id = insert_record("workshop_grades", $element)) {
                     unset($element);
                     $element->workshopid = $workshop->id;
                     $element->assessmentid = $assessment->id;
-                    $element->elementno = $key;
+                    $element->elementno = clean_param($key, PARAM_INT);
                     $element->feedback   = $form->{"feedback_$key"};
                     $element->grade = $thegrade;
                     if (!$element->id = insert_record("workshop_grades", $element)) {
                     unset($element);
                     $element->workshopid = $workshop->id;
                     $element->assessmentid = $assessment->id;
-                    $element->elementno = $key;
+                    $element->elementno = clean_param($key, PARAM_INT);
                     $element->feedback = $form->{"feedback_$key"};
                     $element->grade = $thegrade;
                     if (!$element->id = insert_record("workshop_grades", $element)) {
index 14679ffb4dc9d6e04114739faeb0e89e04a2bea4..a2d32a0e1ee7a7a98add0ee1ccc5d4501de9f7b2 100644 (file)
     require("lib.php");
     require("locallib.php");
 
-    $id = required_param('id',PARAM_INT);    // Course Module ID
-    $action = optional_param('action','',PARAM_ALPHA);
-    $sid = optional_param('sid',0,PARAM_INT); //submission id
-    $order = optional_param('order','name',PARAM_ALPHA);
-    $title = optional_param('title','',PARAM_CLEAN);
-    $nentries = optional_param('nentries','',PARAM_ALPHANUM);
-    $anonymous = optional_param('anonymous','',PARAM_CLEAN);
-    $description = optional_param('description','',PARAM_CLEAN);
+    $id          = required_param('id', PARAM_INT);    // Course Module ID
+    $action      = optional_param('action', '', PARAM_ALPHA);
+    $sid         = optional_param('sid', 0, PARAM_INT); //submission id
+    $order       = optional_param('order', 'name', PARAM_ALPHA);
+    $title       = optional_param('title', '', PARAM_CLEAN);
+    $nentries    = optional_param('nentries', '', PARAM_ALPHANUM);
+    $anonymous   = optional_param('anonymous', '', PARAM_CLEAN);
+    $description = optional_param('description', '', PARAM_CLEAN);
 
     $timenow = time();
 
index 18a2c12f9e69db47cda72c3b22b9549ebfaf8a5c..a66e5b37471ed63c0990992654eaf43ed6b2724b 100644 (file)
@@ -4,7 +4,7 @@
     require("lib.php");
     require("locallib.php");
 
-    $id = required_param('id',PARAM_INT);          // CM ID
+    $id = required_param('id', PARAM_INT);          // CM ID
 
 
     if (! $cm = get_record("course_modules", "id", $id)) {
     // get the current set of submissions
     $submissions = workshop_get_user_submissions($workshop, $USER);
     // add new submission record
-    $newsubmission->workshopid   = $workshop->id;
-    $newsubmission->userid         = $USER->id;
-    $newsubmission->title  = $title;
-    $newsubmission->description = trim($form->description);
-    $newsubmission->timecreated  = $timenow;
+    $newsubmission->workshopid  = $workshop->id;
+    $newsubmission->userid      = $USER->id;
+    $newsubmission->title       = clean_param($title, PARAM_CLEAN);
+    $newsubmission->description = trim(clean_param($form->description, PARAM_CLEAN));
+    $newsubmission->timecreated = $timenow;
     if ($timenow > $workshop->submissionend) {
         $newsubmission->late = 1;
     }
index ded41c5e1f8a2df56cbf03cbf054a3a8bf245a3a..9ec708cbc9ebe39ed52a2dd9992e1395e4bc4c9e 100644 (file)
     require("lib.php");
     require("locallib.php");
 
-    $id = required_param('id',PARAM_INT);    // Course Module ID
-    $action = optional_param('action', '',PARAM_ALPHA);
-    $sort = optional_param('sort', 'lastname');
-    $dir = optional_param('dir', 'ASC');
-    $group = optional_param('group',-1,PARAM_INT);
+    $id     = required_param('id', PARAM_INT);    // Course Module ID
+    $action = optional_param('action', '', PARAM_ALPHA);
+    $sort   = optional_param('sort', 'lastname', PARAM_ALPHA);
+    $dir    = optional_param('dir', 'ASC', PARAM_ALPHA);
+    $group  = optional_param('group', -1, PARAM_INT);
 
     $timenow = time();
 
index 7113aacfaaadf145a407184915a54c159e26088c..ac058d76f38eff3d45fd6e7f21659325af121f79 100644 (file)
@@ -4,10 +4,10 @@
     require("lib.php");
     require("locallib.php");
 
-    $aid = required_param('aid',PARAM_INT);   // Assessment ID
-    $allowcomments = optional_param('allowcomments', false);
-    $redirect = optional_param('redirect', '');
-    $frameset = optional_param('frameset','',PARAM_ALPHA);
+    $aid           = required_param('aid', PARAM_INT);   // Assessment ID
+    $allowcomments = optional_param('allowcomments', false, PARAM_BOOL);
+    $redirect      = optional_param('redirect', '', PARAM_URL);
+    $frameset      = optional_param('frameset', '', PARAM_ALPHA);
 
     if (! $assessment = get_record("workshop_assessments", "id", $aid)) {
         error("Assessment id is incorrect");