twikoojs / twikoo

💬 一个简洁、安全、免费的静态网站评论系统 | A simple, safe, free comment system.
http://twikoo.js.org
MIT License
1.4k stars 263 forks source link

能否预防服务被其他网站调用? #616

Closed Francklin closed 7 months ago

Francklin commented 7 months ago

能否预防服务被其他网站调用?比如,可以在后台管理配置里增加网站地址到白名单,不在白名单的网站调用禁止调用输出。或者采用在需要接入的网站后台做接口密钥链接配置。谢谢!

Android-KitKat commented 7 months ago

Twikoo 默认允许所有跨域请求。 可以在配置管理 CORS_ALLOW_ORIGIN 选项设置白名单,阻止其他网站的请求。 如果填写多个域名,则需要用 , 分隔。

(域名前后不要有空格,因为代码没有进行 trim() 操作。)

Francklin commented 7 months ago

非常感谢!不过这个安全性还是有待提高。

Android-KitKat commented 7 months ago

这个是没有办法的,因为来源 (Origin) 也是可以被伪造的,只能依托于浏览器的跨域安全机制 (CORS)。 用密钥确实可以避免,但用户从何得知密钥? 放在前端网页的话,其他人也能获取到。

Francklin commented 7 months ago

确实。不过,可以多提供一个选择,可以增加在网站后端配置连接,提高安全性。普通要求,一个前端配置就可以了。