langningchen / XMOJ-Script

XMOJ增强脚本
https://web.xmoj-bbs.tech
GNU General Public License v3.0
5 stars 1 forks source link

[Feature request]建议将后端移至Cloudflare D1 + workers #35

Closed boomzero closed 1 year ago

boomzero commented 1 year ago

目前后端不太稳定. 但是这样要全部重写 server, 我有空可以写一下

langningchen commented 1 year ago

只要不花钱就好

boomzero commented 1 year ago

不花钱啊, 每天有100,000 次免费requests

boomzero commented 1 year ago

https://discuss.xmoj.workers.dev/

boomzero commented 1 year ago

还没写好

boomzero commented 1 year ago

不花钱啊, 每天有100,000 次免费requests

实在不行可以多开几个cloudflare号

boomzero commented 1 year ago

我能让客户端api不完全一样吗, 完全一样很麻烦

langningchen commented 1 year ago

不花钱啊, 每天有100,000 次免费requests

那挺好

langningchen commented 1 year ago

我能让客户端api不完全一样吗, 完全一样很麻烦

可以

langningchen commented 1 year ago

到时候我可以把数据库文件发给你,你导入就好了

langningchen commented 1 year ago

安全性一定要有保障就行,什么SQL、PHP、XSS注入都要防范好

langningchen commented 1 year ago

不花钱啊, 每天有100,000 次免费requests

比我那个多一倍

langningchen commented 1 year ago

欸,你这个是JS写的?

langningchen commented 1 year ago

是JS的Web Workers?

langningchen commented 1 year ago

哦,是Cloudflare Workers

boomzero commented 1 year ago

到时候我可以把数据库文件发给你,你导入就好了

数据库多大啊

boomzero commented 1 year ago

安全性一定要有保障就行,什么SQL、PHP、XSS注入都要防范好

没事, 我用了prepare

langningchen commented 1 year ago

不是很大

langningchen commented 1 year ago

我也没仔细看过

langningchen commented 1 year ago

就4个表

langningchen commented 1 year ago

没事, 我用了prepare

那就好,去除HTML标记别忘了

boomzero commented 1 year ago

不是很大

有500MB吗

langningchen commented 1 year ago

忘了,应该没有

boomzero commented 1 year ago

忘了,应该没有

thx

boomzero commented 1 year ago

我能让客户端api不完全一样吗, 完全一样很麻烦

可以

那好, 我让 client 发送json

langningchen commented 1 year ago

那好, 我让 client 发送json

我本来也想这样干,后来觉得服务器解析JSON的风险比较大,而且JSON比较灵活,所以就没有

boomzero commented 1 year ago

那好, 我让 client 发送json

我本来也想这样干,后来觉得服务器解析JSON的风险比较大,而且JSON比较灵活,所以就没有

还好吧, 只要检测有没有要看的key

boomzero commented 1 year ago

目前newpost 的 syntax:

{
   "title": "",
   "content": ""
}
boomzero commented 1 year ago

如果发的不是valid json, 那个worker 会直接error掉, 不影响后面的请求

boomzero commented 1 year ago

在 /newpost 下

langningchen commented 1 year ago

问题是身份验证你做了吗?

langningchen commented 1 year ago

如果只有那两个参数,那怎么确保是谁发的post?是真的他还是假的他?

langningchen commented 1 year ago

目前newpost 的 syntax:

{
   "title": "",
   "content": ""
}

想想如果title或content传入了其他类型,比如int、null、float、boolean等等会怎么样

boomzero commented 1 year ago

如果只有那两个参数,那怎么确保是谁发的post?是真的他还是假的他?

http header? 但是确实还没写, 我看一下你怎么写的

boomzero commented 1 year ago

目前newpost 的 syntax:

{
   "title": "",
   "content": ""
}

想想如果title或content传入了其他类型,比如int、null、float、boolean等等会怎么样

自动类型转换?

null 会当没传这个key

langningchen commented 1 year ago

http header? 但是确实还没写, 我看一下你怎么写的

我是传的PHPSESSID然后服务器去检查(服务器当一个中间人)

langningchen commented 1 year ago

自动类型转换?

null 会当没传这个key

那就好

boomzero commented 1 year ago

http header? 但是确实还没写, 我看一下你怎么写的

我是传的PHPSESSID然后服务器去检查(服务器当一个中间人)

就是远程登录他的号吗

langningchen commented 1 year ago

就是远程登录他的号吗

差不多就是,不过不是登录,是直接就进去了

langningchen commented 1 year ago

所以这个危险性很大,不过只能这样干

langningchen commented 1 year ago

你服务器拿到了他的账号就啥都能干了,包括但不限于导出所有AC代码,所以就像我一样自觉一点,检验一下用户身份就结束

boomzero commented 1 year ago

az, 不会log吗

langningchen commented 1 year ago

什么log?

boomzero commented 1 year ago

az, 不会log吗

不是我log, 是cloudflare留记录

langningchen commented 1 year ago

什么意思?

langningchen commented 1 year ago

另外,互关一下

boomzero commented 1 year ago

另外,互关一下

done

langningchen commented 1 year ago

好的,谢谢

boomzero commented 1 year ago

log

langningchen commented 1 year ago

为什么会留记录呢?

langningchen commented 1 year ago

(没太懂)