是否可以使用客户端 javascript 作为关键点来构建动态 Web 应用程序?我不是在谈论服务器端 javascript(如节点),而是在谈论使用 javascript 处理大部分网站:模板、表单处理等。
当然,简短的回答是“是的,有可能”。但我主要关心的是数据库传统上位于服务器上时的数据库数据操作和安全性。理想情况下,客户端 javascript 驱动的应用程序应该几乎直接与数据库对话。我知道 Couchdb 允许这样做,但是如何防止用户提交旨在查看他们不应该看到的数据的查询?考虑到主要验证也应该是客户端并且很容易伪造,如何处理输入验证?
在我看来,这似乎很有趣,但并不真正可行,但也许有我不知道的解决方案,或者围绕一些数据库的微小安全层,或者我忽略的项目等。
我知道 CouchDb 独立应用程序 ( couchapp ),它是一种接近我所追求的技术,但它强制执行一种开放的方法,这使得它不适用于我能想到的所有场景。
欢迎对此主题提出任何建议。
编辑:由于需要示例,请参阅 simples 博客。我想在首页显示最后五个帖子。如果有人以非常简单的方式“入侵”该页面,他们可以检索较旧的帖子。没关系。但是当我想插入新帖子时怎么办?如果 javascript 对数据库具有开放访问权限,那么任何人都可以在我的博客中写帖子——我不想要它。此外,任何人都可以删除我的帖子或其他用户的评论,这是我想要的特权。如果我想避免超过 500 个字符并包含坏词的评论怎么办?同样,作为客户端的验证,用户可以绕过它。