security
This commit is contained in:
+14
-1
@@ -6,6 +6,7 @@ const STORAGE_KEY = "filehost.uploads";
|
||||
|
||||
const dropzone = $("dropzone");
|
||||
const fileInput = $("fileInput");
|
||||
const pwInput = $("pwInput");
|
||||
const progress = $("progress");
|
||||
const progressBar = $("progressBar");
|
||||
const progressPct = $("progressPct");
|
||||
@@ -14,6 +15,7 @@ const result = $("result");
|
||||
const resultUrl = $("resultUrl");
|
||||
const resultName = $("resultName");
|
||||
const resultSize = $("resultSize");
|
||||
const resultLock = $("resultLock");
|
||||
const copyBtn = $("copyBtn");
|
||||
const deleteBtn = $("deleteBtn");
|
||||
const againBtn = $("againBtn");
|
||||
@@ -57,10 +59,12 @@ function reset() {
|
||||
uploading = false;
|
||||
current = null;
|
||||
result.classList.add("hidden");
|
||||
resultLock.classList.add("hidden");
|
||||
progress.classList.add("hidden");
|
||||
progressBar.style.width = "0%";
|
||||
progressPct.textContent = "0%";
|
||||
fileInput.value = "";
|
||||
pwInput.value = "";
|
||||
clearNotice();
|
||||
}
|
||||
|
||||
@@ -160,6 +164,13 @@ function renderList() {
|
||||
name.textContent = item.originalName;
|
||||
name.title = item.originalName;
|
||||
|
||||
if (item.protected) {
|
||||
const lock = document.createElement("span");
|
||||
lock.className = "lock";
|
||||
lock.textContent = "Password protected";
|
||||
name.appendChild(lock);
|
||||
}
|
||||
|
||||
const sub = document.createElement("span");
|
||||
sub.className = "file-item-sub";
|
||||
let subText = formatBytes(item.size || 0);
|
||||
@@ -182,7 +193,6 @@ function renderList() {
|
||||
dl.className = "btn-link";
|
||||
dl.href = downloadUrl(item);
|
||||
dl.textContent = "Download";
|
||||
dl.setAttribute("download", "");
|
||||
dl.title = "Open download link";
|
||||
|
||||
const copy = document.createElement("button");
|
||||
@@ -243,6 +253,7 @@ function showResult(data) {
|
||||
resultName.textContent = data.originalName;
|
||||
resultSize.textContent = formatBytes(data.size);
|
||||
resultUrl.value = downloadUrl(data);
|
||||
resultLock.classList.toggle("hidden", !data.protected);
|
||||
current = data;
|
||||
addUpload({
|
||||
id: data.id,
|
||||
@@ -250,6 +261,7 @@ function showResult(data) {
|
||||
url: data.url,
|
||||
originalName: data.originalName,
|
||||
size: data.size,
|
||||
protected: !!data.protected,
|
||||
createdAt: new Date().toISOString(),
|
||||
});
|
||||
}
|
||||
@@ -264,6 +276,7 @@ function startUpload(file) {
|
||||
|
||||
const xhr = new XMLHttpRequest();
|
||||
const form = new FormData();
|
||||
if (pwInput.value) form.append("password", pwInput.value);
|
||||
form.append("file", file);
|
||||
|
||||
xhr.upload.addEventListener("progress", (e) => {
|
||||
|
||||
Reference in New Issue
Block a user