去年多说关闭的时候心血来潮写了一个评论系统了自用。后来觉得维护自己的服务器太麻烦了,所以有心血来潮又重新基于 AWS lamda 重构了. 一百多行 JavaScript 完成了 API.
GitHub: https://github.com/metrue/YoYo
Blog: 打造一个自己的评论系统
1
Braid 2018-06-05 10:00:25 +08:00
内容无法管控就没什么意义了
|
2
nine99 2018-06-05 10:13:15 +08:00 1
不错,相比另外那些简洁很多
|
3
nine99 2018-06-05 10:13:31 +08:00
向你学习下 AWS lambda
|
4
yamedie 2018-06-05 10:39:30 +08:00
发现个角度刁钻的问题... 评论内容是根据页面 url 聚集的, 但如果 url 后面被一些浏览器追加了参数(比如微信的?from=singlemessage), 那么 url 有参数的文章和 url 无参数的文章, 评论区就会形成 2 个"平行宇宙"哈哈
举个栗子: https://minghe.me/2017-04-18-YoYo:%E8%87%AA%E5%B7%B1%E6%89%93%E9%80%A0%E4%B8%80%E4%B8%AA%E8%AF%84%E8%AE%BA%E6%9C%8D%E5%8A%A1.html 和 https://minghe.me/2017-04-18-YoYo:%E8%87%AA%E5%B7%B1%E6%89%93%E9%80%A0%E4%B8%80%E4%B8%AA%E8%AF%84%E8%AE%BA%E6%9C%8D%E5%8A%A1.html?0=1 只有一个?0=1 的差别, 评论列表就会完全不一样哦~ |
5
yamedie 2018-06-05 10:51:54 +08:00
|
6
yamedie 2018-06-05 10:54:24 +08:00
额 没打完就发出了, 如果 url 里带#footer 这样的锚点, 又会形成平行宇宙.
另外这种方案没有人工审核和验证码, 怎么防止闷声作大死的敏感信息, 怎么防止类似 SQL 注入之类的脚本攻击? |
7
koodai 2018-06-05 12:43:39 +08:00 via iPhone
|
8
metrue OP |
11
yamedie 2018-06-05 22:22:48 +08:00 via Android
@metrue 够快,有些 wordpress 默认没有开启静态化,url 比如 xx.com/?p=123,会不会造成新的困扰? 匿了。。
|
13
yamedie 2018-06-06 08:09:13 +08:00 via Android
@metrue 想到个粗暴的办法就是提供 2 个 js 让用户选 1 个用,一个是忽略 url 参数和锚点的,另一个是不忽略的(#锚点的话,因为有些单页应用用锚点做路由,这种情况也不能忽略)
|
14
yamedie 2018-06-06 08:13:05 +08:00 via Android
或者 1 个 js 也行,window 对象下放一个布耳值开关,开关为 false 或不存在就怎样,true 就怎样
|
15
metrue OP @yamedie
如果想做可以配置的话,直接把配置附着在 YoYo 的 div 节点即可, 比如类似这样: <div id="YoYo" data-yoyo-config-enable-fullpath="true"></div> <script src="https://yoyo-client-production.s3.amazonaws.com/dist/index.js"></script> |