@@ -900,6 +914,8 @@ auto_delete(); //定时删除
我的信息
IP:
+
+
配置文件更新日期:
Browser:
图床信息
@@ -922,7 +938,7 @@ auto_delete(); //定时删除
ZUI
Verot
Tinyfilemanager
-
Web-indexr
+
Web-indexr
Ip2Region
TinyPng
diff --git a/admin/version.php b/admin/version.php
index 0409c16..7f04bb1 100644
--- a/admin/version.php
+++ b/admin/version.php
@@ -1 +1 @@
-2.8.4
\ No newline at end of file
+2.8.5
\ No newline at end of file
diff --git a/api/index.php b/api/index.php
index 803427a..8c6c67e 100755
--- a/api/index.php
+++ b/api/index.php
@@ -163,7 +163,7 @@ if ($handle->uploaded) {
// 上传错误 code:206 客户端文件有问题
$reJson = array(
"result" => "failed",
- "code" => 206,
+ "code" => 400,
"srcName" => $handle->file_src_name_body, // 2023-04-03 原始上传文件名称
"id" => $tokenID, // 2023-04-03 增加 Token ID
"message" => $handle->error,
diff --git a/app/base.php b/app/base.php
index debb22f..f7f62b7 100644
--- a/app/base.php
+++ b/app/base.php
@@ -33,6 +33,6 @@ ini_set('memory_limit', '512M');
// 判断当前系统是否为windows
define('IS_WIN', strstr(PHP_OS, 'WIN') ? 1 : 0);
// 定义程序版本
-define('APP_VERSION', '2.8.4');
+define('APP_VERSION', '2.8.5');
/*---------------基础配置结束-------------------*/
\ No newline at end of file
diff --git a/app/del.php b/app/del.php
index c8dfed9..842931c 100644
--- a/app/del.php
+++ b/app/del.php
@@ -41,7 +41,7 @@ if (isset($_GET['hash'])) {
), JSON_UNESCAPED_UNICODE));
} else {
exit(json_encode(array(
- 'code' => 200,
+ 'code' => 404,
'msg' => '文件不存在',
'type' => 'danger',
'icon' => 'exclamation-sign',
@@ -64,7 +64,7 @@ if (isset($_GET['hash'])) {
), JSON_UNESCAPED_UNICODE));
}
exit(json_encode(array(
- 'code' => 200,
+ 'code' => 404,
'msg' => '删除失败',
'type' => 'danger',
'icon' => 'exclamation-sign',
@@ -115,7 +115,7 @@ if (isset($_POST['mode']) && $_POST['mode'] === 'delete') {
), JSON_UNESCAPED_UNICODE));
} else {
exit(json_encode(array(
- 'code' => 200,
+ 'code' => 404,
'msg' => '删除失败',
'type' => 'danger',
'icon' => 'exclamation-sign',
@@ -139,7 +139,7 @@ if (isset($_POST['mode']) && $_POST['mode'] === 'recycle') {
), JSON_UNESCAPED_UNICODE));
} else {
exit(json_encode(array(
- 'code' => 200,
+ 'code' => 404,
'msg' => '回收失败',
'type' => 'danger',
'icon' => 'exclamation-sign',
diff --git a/app/upload.php b/app/upload.php
index 5d821a2..73f0f45 100644
--- a/app/upload.php
+++ b/app/upload.php
@@ -53,7 +53,7 @@ if ($config['check_ip']) {
exit(json_encode(
array(
"result" => "failed",
- "code" => 403,
+ "code" => 205,
"message" => "你不能上传任何文件",
),
JSON_UNESCAPED_UNICODE
@@ -67,7 +67,7 @@ if ($config['ip_upload_counts'] > 0 && !is_who_login('status')) {
exit(json_encode(
array(
"result" => "failed",
- "code" => 403,
+ "code" => 202,
"message" => sprintf("游客限制每日上传 %d 张", $config['ip_upload_counts']),
),
JSON_UNESCAPED_UNICODE
@@ -97,7 +97,7 @@ if ($handle->uploaded) {
exit(json_encode(
array(
"result" => "failed",
- "code" => 205,
+ "code" => 406,
"message" => "请勿上传非法文件",
),
JSON_UNESCAPED_UNICODE
@@ -166,6 +166,22 @@ if ($handle->uploaded) {
// 图片完整相对路径:/i/2021/05/03/k88e7p.jpg
if ($handle->processed) {
+ // 黑名单文件 - 通过MD5检测
+ if ($config['md5_black']) {
+ $befor_upload_file_md5 = md5_file($handle->file_src_pathname);
+ $after_upload_file_md5 = md5_file($handle->file_dst_pathname);
+ if (stristr($config['md5_blacklist'], $befor_upload_file_md5) || stristr($config['md5_blacklist'], $after_upload_file_md5)) {
+ if (file_exists($handle->file_dst_pathname)) unlink($handle->file_dst_pathname);
+ exit(json_encode(
+ array(
+ "result" => "failed",
+ "code" => 205,
+ "message" => "当前文件禁止上传",
+ ),
+ JSON_UNESCAPED_UNICODE
+ ));
+ }
+ }
// 图片相对路径
$pathIMG = $Img_path . $handle->file_dst_name;
// 图片访问网址
@@ -217,10 +233,10 @@ if ($handle->uploaded) {
);
echo json_encode($reJson, JSON_UNESCAPED_UNICODE);
$handle->clean(); // 如果取消上传生成缩略图需要恢复此选项功能
- } else { // 上传错误 code:206 客户端文件有问题
+ } else { // 上传错误 code:400 客户端文件有问题
$reJson = array(
"result" => "failed",
- "code" => 206,
+ "code" => 400,
"message" => $handle->error,
"memory" => getDistUsed(memory_get_peak_usage()), // 占用内存 2023-02-12
// 'log' => $handle->log, // 仅用作调试用
diff --git a/config/config.php b/config/config.php
index 3d71df9..6f16381 100755
--- a/config/config.php
+++ b/config/config.php
@@ -31,7 +31,7 @@ $config=Array
'path'=>'/i/',
'storage_path'=>'Y/m/d/',
'mime'=>'image/*,video/*',
- 'imgName'=>'date',
+ 'imgName'=>'default',
'maxSize'=>10485760,
'maxUploadFiles'=>30,
'watermark'=>0,
@@ -86,6 +86,8 @@ $config=Array
'check_ip'=>0,
'check_ip_model'=>0,
'check_ip_list'=>'',
+ 'md5_black'=>0,
+ 'md5_blacklist'=>'',
'auto_delete'=>0,
'timezone'=>'Asia/Shanghai',
'ip_upload_counts'=>0,
@@ -105,7 +107,7 @@ $config=Array
),
'language'=>0,
'login_bg'=>'../app/bing.php',
- 'report'=>'https://forms.zohopublic.com.cn/asinc/form/Untitled/formperma/TD1DZeyv6h3APCUyX3cySEk0pmqQDp7qdRy-c3JB4RI',
+ 'report'=>'',
'image_recycl'=>1,
'tinyfilemanager'=>1,
'file_manage'=>1,
@@ -125,12 +127,13 @@ $config=Array
'ad_top_info'=>'
',
'ad_bot'=>0,
- 'ad_bot_info'=>'
打赏
',
+ 'ad_bot_info'=>'
打赏
',
'set_notice'=>'
x
目录保存以 年/月/日/ 递进,非必要请勿修改! 否则会导致部分操作不可用;
本人仅为程序开源创作,如遇非法网站使用与本人无关,请勿用于商业用途;
-
作为开发者你可以对相应的后台功能进行扩展(增删改相应代码),但请保留代码中源作者信息。
+
更改配置或内容应注意闭合标签, 否则会导致页面显示不全或者功能异常;
+
作为开发者你可以对相应功能进行扩展(增删改相应代码), 但请保留代码中源作者信息。
演示
手册
社区
@@ -138,5 +141,5 @@ $config=Array
打赏作者
',
'terms'=>'
服务条款 访问我们网站除主页和本“条款”页面以外的任何页面,即表示您同意这些使用条款和我们的隐私政策。如果您不同意,请不要使用我们的网站。
您使用我们的网站进行除简单访问/查看之外的任何事情(即上传、下载、评论等),不仅构成您的同意,而且构成您的电子签名,这意味着您受这些条款的合同约束,并且通过我们的隐私政策。 我们保留在使用过多带宽或以其他方式滥用系统的用户帐户上禁用直接链接的权利。 请勿上传儿童色情内容或威胁、骚扰、诽谤或鼓励非法行为的材料。不要使用本网站作为内容交付网络。如果你这样做(我们将成为法官),或者如果你做了任何违法的事情,除了我们可能拥有的任何其他合法权利之外,我们将禁止你以及你从中盗链的网站,删除你的所有图片,报告如有必要,您可以向当局报告,并阻止您查看本网站上托管的任何图像。我们是认真的。 用户必须同意遵守适用于其所在地的所有法律,包括版权和商标法。不允许使用侵犯版权或商标的图片。如果有人对您提出侵权索赔,您将被要求删除受版权保护的文件,直到问题得到解决。如果本网站的参与者之间存在争议,我们没有义务参与其中。 您可以匿名上传图像,并与您的朋友、家人、在线站点以及社交网络在线共享。 如果您在我们的网站上看到任何不应该出现的内容,因为它违反了我们的政策或出于任何其他原因,请通过电子邮件联系告知我们 声明通知中的信息准确无误,否则会受到伪证处罚。为此,请包括以下声明: “我发誓,通知中的信息准确无误,并且我是(版权)所有者或被授权代表专有权的所有者行事,在作伪证的处罚下涉嫌侵权”。 如果发生调查,本网站承诺与任何和所有法律机构合作。
隐私政策 一般: 当您访问本网站或使用本政策中进一步概述的服务(“服务”)时,本网站致力于保护您的隐私。作为使用本网站服务的条件,您同意向本网站提供某些个人信息。该信息包括但不限于: 电子邮件地址和您计算机的唯一 IP 地址(如果有)、财务信息(您的 Paypal 帐户使用的电子邮件地址)和人口统计信息(例如,邮政编码、邮政编码、家乡、性别、购买历史信息和年龄以及不是您计算机独有的 IP 地址)。请注意,我们不会在本网站的任何地方故意收集 13 岁以下儿童的联系信息或财务信息。请定期查看本隐私政策,因为我们可能会不时对其进行更新。本隐私政策的最后修订日期为 2021年10月25日。您每次访问本网站、使用服务或向我们提供信息时,即表示您当时接受本隐私政策中描述的做法。您同意,通过使用本网站,您明确并肯定地同意我们使用和披露您提供的信息,并同意接收电子邮件,如下面的隐私政策所述。
隐私政策变更: 随着新功能添加到网站或我们纳入用户的建议,本政策可能会随着时间的推移进行修订。如果我们打算以与我们收集信息时声明的方式大不相同的方式使用或披露您的个人身份信息,您将可以选择我们是否以这种新方式使用或披露您的信息。我们还将在我们的网站显着位置发布隐私政策已修订的通知,以便您可以随时查看我们收集的信息、我们将如何使用该信息以及在何种条件下我们将向任何人披露这些信息。
如何使用您的信息: 我们使用联系信息(即您的电子邮件地址)来帮助我们有效地执行帐户任务(更改密码、找回丢失的密码)、提供您请求的服务、执行质量保证、销售分析和其他业务分析,并就相关事宜与您联系与您向我们下的任何订单。除非满足任何法律、法规、政府要求或司法命令,否则不会将您的财务信息用于其他用途。当您通过本网站进行购买或在本网站注册时,您将向我们提供一个电子邮件地址,我们或这些服务提供商可能会出于本段所述目的与您联系。
联系您获取优惠和促销信息: 您同意,考虑到我们提供的服务的使用,允许我们使用您的个人信息向您发送营销和促销材料。我们也可能向您发送宣传第三方产品的营销和宣传材料。我们不会出租或出售您的个人信息以供第三方使用。这些材料可能包括但不限于: 向您提供有关如何使用服务的附加信息的时事通讯,以及来自我们或第三方的商品和服务的促销优惠。
人口统计信息的使用: 我们可能会使用您的人口统计信息进行业务分析或根据您的兴趣定制网站和通讯。我们可能会与广告商和其他第三方共享匿名的汇总人口统计信息,以便他们可以针对适当的受众定制广告和通信。在本隐私政策允许我们共享您的联系信息或财务信息的任何时候,我们也可能会同时共享您的人口统计信息。
向政府实体披露: 当我们确定此类披露是遵守法律、与执法部门合作或寻求执法协助或保护我们或网站其他访问者或用户的利益或安全时,我们可能会披露特定的联系信息。服务。此外,如果我们发生合并、收购、合并、剥离或破产,您的联系信息可能会传递给第三方。
Cookie 和其他网站跟踪数据的使用: Cookies : “cookie”是我们保存在您计算机硬盘上的包含非个人信息的小文件。这些 cookie 有助于让您更快地访问您已经访问过的页面。它们还允许您个性化您的页面,并优化您在我们网站上的体验。我们还使用 cookie 来帮助我们了解有多少人访问了我们的网站、他们访问了我们的哪些网页以及他们在那里停留的时间。此信息可帮助我们确定我们的哪些网络功能非常成功以及哪些网站可能需要改进。您可以通过在浏览器的首选项或选项菜单中指明这一点来禁用计算机上的 cookie。大多数浏览器会自动接受 cookie,但允许您禁用它们。禁用 cookie 可能会阻止您正确使用服务或访问网站。
会话 ID: “会话 ID”允许我们在多个网页请求中识别特定用户。此会话 ID 会尽可能保存在您的 cookie 文件中。如果 cookie 未启用,或者如果用户的 Internet 浏览器程序不支持 cookie,则我们将在请求的网页中放置会话 ID。这使最终用户不必为每个网页请求不断地重新输入某些信息,例如帐户名和密码。每当用户关闭其 Internet 浏览器时,此会话 ID 就会过期。
网站跟踪、报告: 我们的许多网页还包含特殊的电子图像(称为“单像素 gif”或“gif”),使我们能够仅收集非个人身份的流量统计数据和有关我们网站访问者的其他汇总信息。本站(通过自身或第三方)使用此技术收集和积累匿名数据,帮助我们了解和分析访问我们网站的人的体验,并连同您提供的其他信息,定制您未来的访问并改进我们的网站网站。例如,我们捕获有关所用浏览器类型、操作系统软件(例如 Windows 95 与 98 或 Macintosh)、cookie 偏好(用户是否打开或关闭它们)和搜索引擎关键字(哪些关键字做了什么)的数据。访问者用于访问我们的网站)。我们还记录了访问次数,所采取的路径,以及在我们网站内的站点和页面上花费的时间。请记住,这些信息都不是个人身份信息,我们只将这些信息分发给我们的内部员工以及与我们签署了保密协议的合作伙伴。我们与合作伙伴共享的任何信息都反映了整个网站或 Internet 使用趋势,而不是个别信息。
IP地址: 每次您访问本网站时,我们都会自动收集您的 IP 地址和您来自的网页。为了为您管理和优化站点并诊断我们站点的问题,我们使用您的 IP 地址来帮助识别您的身份并收集有关您的广泛人口统计信息。
来自其他网站的信息: 我们可能会放置指向其他方运营的其他网站的链接,并且可能会不时在我们的促销电子邮件中包含指向第三方网站的信息和链接。其中一些其他网站包含我们的品牌名称和商标以及我们拥有的其他知识产权;其他人没有。当您点击这些链接并访问这些其他网站时,无论它们是否包含我们的品牌名称、商标和其他知识产权,您都需要注意,我们不控制这些其他网站或这些其他网站”商业惯例,并且本隐私政策不适用于这些其他网站。因此,这些其他网站的运营商可能会收集有关您的不同类型的信息,并且可能以不同于我们在网站上收集信息的方式使用和披露该信息。我们鼓励您查看他们的隐私政策,并提醒您我们不对他们的行为负责。
信息存储: 您理解并同意我们在服务器上存储和处理您的信息,并且通过向我们提供任何数据,您同意将此类信息传输到网站服务器。当您从我们帐户中删除文件时,您与该文件之间将不再存在任何链接。删除的文件可能会缓存在我们服务器中以节省带宽,以防其他人请求它们。
如何联系我们: 如果您对您提交给我们这个隐私政策或信息有任何疑问,您可以通过邮件方式联系我们
数字千年版权法案 要向我们提交版权侵权通知,您需要发送书面通知,其中包含《数字千年版权法》第 512(c)(3) 条要求和规定的信息。
要撰写适当的 DMCA 通知,请说明以下信息:
表明自己是您认为受到侵犯的版权作品或专有权的所有者,或代表此类所有者行事的人,并提供物理签名(纸质形式时)或电子签名(电子形式时) )。 指明您认为受到侵权的受版权保护的作品,或者如果有大量作品受到侵权,请提供作品的代表性清单。 通过在我们站点上提供包含这些材料的 Web URL,确定侵犯您的版权作品的材料的位置。请不要发送附加的图像、pdf 或其他文件格式的文件,而只能发送包含我们网址的列表。在信函正文中提供所有 URL 是帮助我们快速处理您的请求的最佳方式。 说明您的联系信息,包括您的姓名、街道地址、电话号码和电子邮件地址。如果您代表版权所有者行事,请同时说明您与版权所有者的关系(例如律师、供应商、代理人)。 声明您“真诚地相信上述材料的使用未经版权所有者、其代理人或法律授权”。 声明通知中的信息准确无误,否则会受到伪证处罚。为此,请包括以下声明: “我发誓,通知中的信息准确无误,并且我是(版权)所有者或被授权代表专有权的所有者行事,在作伪证的处罚下涉嫌侵权”。 请用中文书写,所有电子邮件是任何其他语言都将被忽略。 要行使您的 DMCA 权利,您必须将适当的 DMCA 通知发送至我们的指定代理至电子邮件。 未能包含上述所有信息可能会导致 DMCA 通知的处理延迟。请注意,根据 DMCA 第 512(f) 条,任何故意歪曲材料或活动侵权的人都可能需要承担责任。
如果我们收到声称侵犯版权的适当通知,它将通过删除或禁止访问声称侵权或成为侵权活动主题的材料迅速做出回应。请注意,我们不一定会向报告者发送有关删除操作的确认。
',
- 'update'=>'2024-01-19 22:12:41'
+ 'update'=>'2024-03-04 07:17:38'
);
\ No newline at end of file
diff --git a/docs/API.md b/docs/API.md
index 353f179..45ddff6 100644
--- a/docs/API.md
+++ b/docs/API.md
@@ -1,3 +1,4 @@
+返回状态可以参考 [常见状态代码](./常见状态代码.md)
- 上传成功后返回JSON
```json
diff --git a/docs/_sidebar.md b/docs/_sidebar.md
index 9d7aa96..a3d84e4 100644
--- a/docs/_sidebar.md
+++ b/docs/_sidebar.md
@@ -22,6 +22,7 @@
* [图床更新升级](./图床更新升级.md)
* [更改域名/服务器](./更改域名-服务器.md)
* [常见问题与环境要求](./常见问题.md)
+* [常见状态代码](./常见状态代码.md)
* [打赏开发者](./打赏开发者.md)
* [更新日志](./update.md)
* [许可证](./许可证.md)
diff --git a/docs/update.md b/docs/update.md
index 2772ab1..d8f2d54 100644
--- a/docs/update.md
+++ b/docs/update.md
@@ -1,3 +1,8 @@
+* 2024-03-04 v2.8.5
+- 返回状态统一
+- 增加返回状态文档解释
+- 增加通过文件md5禁止上传
+
* 2024-01-20 v2.8.4
- Fix [#163](https://github.com/icret/EasyImages2.0/pull/163)
- Fix [#159](https://github.com/icret/EasyImages2.0/pull/159)
diff --git a/docs/常见状态代码.md b/docs/常见状态代码.md
new file mode 100644
index 0000000..c0350d7
--- /dev/null
+++ b/docs/常见状态代码.md
@@ -0,0 +1,23 @@
+#### 上传状态代码
+- 200 - 上传成功
+- 202 - 超出游客上传限制
+- 204 - 没有选择上传的文件
+- 205 - 黑名单内或白名单外用户不允许上传
+- 400 - 代码或上传文件有问题
+- 401 - 已开启登陆上传且尚未登陆
+- 403 - 上传签名错误
+- 406 - 非法文件
+
+#### 删除状态代码
+- 200 - 删除成功
+- 404 - 文件不存在
+
+#### 登录状态代码
+- 201 - cookie不存在
+- 202 - 无法读取cookie
+- 203 - 密码错误
+- 204 - 管理员已登录
+- 205 - 普通用户已登录
+- 206 - 普通用户账号过期
+
+
\ No newline at end of file