Url-Shorten-Worker icon indicating copy to clipboard operation
Url-Shorten-Worker copied to clipboard

避免公开 根路径 / 导致被其它人滥用

Open crazypeace opened this issue 1 year ago • 2 comments

在访问 根路径 / 时,返回404 只有在访问一个秘密路径时,才返回正常的使用页面

修改说明: https://zelikk.blogspot.com/2022/07/url-shorten-worker-hide.html

部署教程: https://zelikk.blogspot.com/2022/07/url-shorten-worker-hide-tutorial.html

crazypeace avatar Jul 24 '22 15:07 crazypeace

支持自定义短链

https://zelikk.blogspot.com/2022/07/url-shorten-worker-custom.html

API 不公开服务

https://zelikk.blogspot.com/2022/07/url-shorten-worker-api-password.html

crazypeace avatar Jul 28 '22 15:07 crazypeace

页面缓存设置过的短链

https://zelikk.blogspot.com/2022/08/url-shorten-worker-localstorage.html

长链接文本框预搜索localStorage

https://zelikk.blogspot.com/2022/08/url-shorten-worker-bootstrap-list-group-oninput.html

增加删除某条短链的按钮

https://zelikk.blogspot.com/2022/08/url-shorten-worker-delete-kv-localstorage.html

crazypeace avatar Aug 07 '22 14:08 crazypeace

感谢贡献代码,由于新增功能较多,故我觉得可以成为完全独立的一个版本,所以创建了一个新的分支用于合并。

目前Url-Shorten-Worker共有两个版本:

原版:https://github.com/xyTom/Url-Shorten-Worker/ crazypeace 修改版: https://github.com/xyTom/Url-Shorten-Worker/tree/crazypeace

用户可根据自身情况选择需要的版本进行部署

再次感谢crazypeace贡献代码,也欢迎其他的朋友提交pull request贡献代码!

xyTom avatar Aug 12 '23 19:08 xyTom

你好! 其它的功能性的东西, 合不合并看个人对项目的定义和取舍. 但是有一个地方, 关于API的接口的定义和使用方法, 想和你探讨一下.

你的代码, 不管成功还是失败, 返回的status都是200, 找到key了, API返回的就是key; 没找到key, API返回的key里面实际上填写的是错误信息. image

我的修改: 状态码要表示这个API操作是否成功. 如果成功, 状态码是200, key里面有找到的key; 如果失败, 状态码是错误码, error里面有错误信息. image

其实, 我这里也许也有不合规范的地方. 如果是删除, request.method 就不应该是 "POST", 而应该是"DELETE" 是吧?

crazypeace avatar Aug 13 '23 06:08 crazypeace

你好! 其它的功能性的东西, 合不合并看个人对项目的定义和取舍. 但是有一个地方, 关于API的接口的定义和使用方法, 想和你探讨一下.

你的代码, 不管成功还是失败, 返回的status都是200, 找到key了, API返回的就是key; 没找到key, API返回的key里面实际上填写的是错误信息. image

我的修改: 状态码要表示这个API操作是否成功. 如果成功, 状态码是200, key里面有找到的key; 如果失败, 状态码是错误码, error里面有错误信息. image

其实, 我这里也许也有不合规范的地方. 如果是删除, request.method 就不应该是 "POST", 而应该是"DELETE" 是吧?

是的,你提出的API接口定义确实要规范一些,按常理来说如果失败状态代码返回500确实更加合理一些,我之前这么做主要想的是为了简单一些,这样的话前端代码就不需要判断后端返回的内容是否错误,只需要把后端返回JSON当中的key对应的值赋值到页面弹出的modal框中即可。

即如果正确生成了,则弹出的model框会显示对应的短链接,如果生成错误,则显示对应的错误信息,相当于这样设计的话,就复用了同样的一段代码去应对两种情况。简而言之,就是我偷了点懒,当然这样弄就不太规范了。

个人感觉你的方式会更加的合理和规范,也更符合直觉便于理解,如果需要你可以再提交一个pull request,将关于API接口的规范化修改提交到main分支中

xyTom avatar Aug 14 '23 06:08 xyTom