pis*_*hio 5 javascript security client-side database-driven
是否可以使用客户端javascript构建动态Web应用程序作为关键点?我不是在讨论服务器端的javascript(比如节点),我说的是用javascript处理大部分网站:模板,表单处理等.
当然,简短的回答是"是的,这是可能的".但是,当数据库传统上位于服务器上时,我主要担心的是数据库数据操作和安全性.客户端javascript驱动的应用程序应该理想地直接与数据库对话.我知道Couchdb允许这样做,但是如何阻止用户提交查询以查看他们不应该看到的数据?考虑到主要验证应该也是客户端并且很容易伪造,如何处理输入验证?
这在我看来非常有趣,但不是真的可行,但也许有我不知道的解决方案,或包围一些数据库的微小安全层,或我忽略的项目等.
我知道CouchDb独立应用程序(couchapp),它是一种接近我所追求的技术,但它强制执行一种开放的方法,使其不适合我能想到的每一种情况.
欢迎就此主题提出任何建议.
编辑:作为示例是必需的,请在简单的博客上思考.我想在头版中显示最后五个帖子.如果有人以非常简单的方式"破解"页面,他们就可以检索旧帖子.没关系.当我想插入新帖子时,请问什么?如果javascript具有对数据库的开放访问权限,任何人都可以在我的博客中写帖子- 我不想要它.此外,任何人都可以删除我的帖子或其他用户评论,这是我想要的特权.如果我想避免超过500个字符并包含坏词的评论怎么办?再次,在客户端进行验证,用户可以绕过它.
jri*_*ggs -3
无法从客户端与数据库对话。为了安全起见,您所做的验证必须进行两次。一次在客户端,一次在服务器端。
您可以在客户端执行的任何操作都可能被恶意用户伪造。客户端验证主要是为了方便用户。服务器端验证提供了数据库安全性。
| 归档时间: |
|
| 查看次数: |
964 次 |
| 最近记录: |