想请问一下我想在我的chrome浏览器,在浏览某些网站时,设定上传档案,不能上传bmp或png副档名的档案,因为怕自己会传错。我该怎么解决这个问题,我有查到好像两种方法,一种是用写json去管控chrome,另一种方法好像是找chrome的扩充程式,但我不会写json,也找不到类似限制上传档案类型的扩充程式

1 个回答

5

Gary

iT邦好手 1 级 ‧ 2025-02-11 14:21:21

最佳解答

方法一.

用 Chrome 企业原则(手动设定 JSON)
这种方法适合管理整个Chrome行为,但需手动编辑JSON,设定Chrome原则。
建立 JSON 设定档
在 C:\\Program Files\\Google\\Chrome\\Application(Windows)或 /Library/Managed Preferences(Mac) 建立一个 policies.json 档案,然后加入这些内容:

{
"URLBlocklist": ["xxx.com"],
"UploadRestrictions": {
"patterns": [".bmp", ".png"],
"message": "禁止上传 BMP 和 PNG 档案"
}
}
这里的 xxx.com 改成你要管控的网站。

载入 Chrome 原则
在 Chrome 网址列输入 chrome://policy/ 重新载入原则
当你在指定的网站上传 .bmp 或 .png 时,Chrome 会挡住上传。

方法二.

自己写一个扩充程式到Chrome,首先建一个Folder,裏面新建一个manifest.json
{
"manifest_version": 3,
"name": "Upload Restriction",
"version": "1.0",
"description": "限制上传特定副档名的档案",
"permissions": ["scripting", "activeTab"],
"host_permissions": ["<all_urls>"],
"background": {
"service_worker": "background.js"
}
}

新增 background.js

chrome.webRequest.onBeforeRequest.addListener(
function(details) {
const forbiddenExtensions = [".bmp", ".png"];
if (details.url) {
for (let ext of forbiddenExtensions) {
if (details.url.endsWith(ext)) {
return { cancel: true };
}
}
}
return {};
},
{ urls: ["<all_urls>"] },
["blocking"]
);

载入扩充程式
开启Chrome进到 chrome://extensions/
载入未封装扩充功能
选择你的 block_upload 资料夹
这样,每当你试图上传 .bmp 或 .png,Chrome 会阻挡该请求。

上述两种方式给你参考!


  • 2

Gary

iT邦好手 1 级 ‧
2025-02-12 10:58:49

如果需要我可以已经做好的的程式码档案给你!
图一.

图二.

修改

穷嘶发发发

iT邦高手 1 级 ‧
2025-02-13 15:01:10

真棒的解答,收藏先

修改