]> git.p6c8.net - jirafeau/jirafeau.git/blobdiff - f.php
Prefixed SHA256 password hashes
[jirafeau/jirafeau.git] / f.php
diff --git a/f.php b/f.php
index 922668f0002d26f09bc356b90eea60ac7d1e75cd..25f6be36a174cb293f2b73f61e506a3cc8a44919 100644 (file)
--- a/f.php
+++ b/f.php
@@ -171,7 +171,10 @@ if (!empty($link['key'])) {
         require(JIRAFEAU_ROOT.'lib/template/footer.php');
         exit;
     } else {
-        if (hash_equals($link['key'], md5($_POST['key']))) {
+        if (strpos($link['key'], '[SHA256]') == 0 && hash_equals(substr($link['key'], 8), hash('sha256', $_POST['key']))) {
+            $password_challenged = true;
+        }
+        elseif (hash_equals($link['key'], md5($_POST['key']))) {
             $password_challenged = true;
         } else {
             sleep(2);
@@ -231,6 +234,7 @@ if (!jirafeau_is_viewable($link['mime_type']) || !$cfg['preview'] || $do_downloa
     header('Content-Disposition: attachment; filename="' . $link['file_name'] . '"');
 } else {
     header('Content-Disposition: filename="' . $link['file_name'] . '"');
+    header('X-Content-Type-Options: nosniff');
 }
 header('Content-Type: ' . $link['mime_type']);
 if ($cfg['file_hash'] == "md5") {

patrick-canterino.de