javascript - Meteor.JS 基于类的事件安全吗?

标签 javascript meteor meteor-blaze

注意:下面的示例只是一个虚构的简化示例!

假设我在 Meteor.JS 应用程序中有两个按钮:一个表示同意,这会将某个元素的分数加 +1,另一个表示不同意,这会减去某个元素的分数。

如果我为此使用基于类的事件(因此一个同意,一个不同意),用户是否可以手动更改类并否决模板中设置的条件?

<button class="agreement tiny">

 Agree!

</button>

如果用户单击此按钮,他可以删除他的协议(protocol):

<button class="remove-agreement tiny">

 Remove agreement!

</button>

我的问题是用户是否可以手动将删除协议(protocol)按钮的类从remove-agreement更改为agreement,以便他可以添加多个+1。这可能吗?我自己尝试过,但似乎不起作用,但我(显然)不是这方面的专家。

编辑:它现在可以工作了。这是否意味着我需要为此实现服务器端安全性?

最佳答案

是的,用户可以删除该类。每当网站要求在 Facebook 上点赞时我都会这样做。删除 display:none 需要 10 秒。 10 秒的隐私时间对我来说没问题。

每次客户要求插入/更新/删除某些内容时,您都需要验证这一点。

这是一个明显的场景:您需要存储用户投票,每次用户尝试投票/反对投票时,您都会检查用户是否已经投票。如果由于某种原因,用户尝试投反对票或投赞成票超过 1 次,您可以记录此信息,分析并决定是否应该禁止该用户。

您可以使用allow/deny rules检查这个或什至simple server method 。不要忘记检查/阻止来自客户端的数据库 CRUD 操作,否则...你就完蛋了!

关于javascript - Meteor.JS 基于类的事件安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27162440/

相关文章:

javascript - 将外部脚本事件绑定(bind)到组件中的html

javascript - 将 csv 转换为 json 对象并循环遍历每个不工作的对象

javascript - Android 设备上 Cordova 设备方向插件的传感器值不可靠

html - 传单latlng到位置名称

javascript - Meteor 模板 onRendered 回调未调用

javascript - 为什么表格高度大于单元格高度之和?

javascript - JSON.Stringify 替换函数无法获取键值

javascript - 如何查看 meteor DDP流量?

meteor - 从服务器获取结果后在 Meteor 中调用客户端 js 函数

Meteor .helpers函数参数