]> git.p6c8.net - jirafeau.git/blobdiff - lib/functions.php
admin.php: fix authentication bypass vulnerability
[jirafeau.git] / lib / functions.php
index 83fdaf1a6ec8d84d51b0008eec4f3dedd66e6b58..592e841997249d35616ab65cf8c97172ef2c7524 100644 (file)
@@ -623,7 +623,12 @@ jirafeau_admin_list ($name, $file_hash, $link_hash)
                 echo '<td>' . jirafeau_human_size ($l['file_size']) . '</td>';
                 echo '<td>' . ($l['time'] == -1 ? '' : strftime ('%c', $l['time'])) .
                      '</td>';
-                echo '<td>' . $l['onetime'] . '</td>';
+                echo '<td>';
+                if ($l['onetime'] == 'O')
+                    echo 'Y';
+                else
+                    echo 'N';
+                echo '</td>';
                 echo '<td>' . strftime ('%c', $l['upload_date']) . '</td>';
                 echo '<td>' . $l['ip'] . '</td>';
                 echo '<td>' .
@@ -1121,6 +1126,8 @@ get_ip_list_http_forwarded()
     if (!empty ($_SERVER['HTTP_X_FORWARDED_FOR']))
     {
         $l = explode (',', $_SERVER['HTTP_X_FORWARDED_FOR']);
+        if ($l === FALSE)
+            return array();
         foreach ($l as $ip)
             array_push ($ip_list, preg_replace ('/\s+/', '', $ip));
     }
@@ -1130,7 +1137,10 @@ get_ip_list_http_forwarded()
         foreach ($l as $ip)
         {
             // Separate IP from port
-            $ip = explode (':', $ip)[0];
+            $ipa = explode (':', $ip);
+            if ($ipa === FALSE)
+                continue;
+            $ip = $ipa[0];
             array_push ($ip_list, preg_replace ('/\s+/', '', $ip));
         }
     }

patrick-canterino.de