我在捐赠后将用户发送到收据页面,收据页面URL的格式为https://hostname/thanks/:_id
(其中:_id是mongodb文档ID)。从这个页面我不希望他们能够从控制台运行更新,插入或删除。现在我可以成功运行以下。
Donate.update('yozLsubzoRXYqMeh6', {$set: {'debit.status': 'failed'}});
我可以使用拒绝规则阻止更新,插入和删除操作吗?
答案 0 :(得分:0)
您可以使用允许/拒绝规则根据其状态阻止对某个对象的访问,但是您无法创建一个将当前URL考虑在内的对象。事实是,正如您所注意到的,任何有权访问浏览器控制台的人都可以运行任意命令。允许/拒绝规则用于确保即使客户端代码已被篡改,服务器端数据也是安全的,因此他们会考虑原子级别的每个操作。
因此,在您的情况下,您可以只是当前的捐赠状态,当前用户,并拒绝非管理员用户完成捐赠的所有更新。