我刚开始使用data- *属性来存储View所需的自定义属性和值。例如 。
<div id='someId' data-ItemValues='SomeValues'>
</div>
基于data-*
我正在做一些操作(CRUD)。如果用户在客户端(即使用firebug和其他一些开发人员工具从浏览器中)更改了data- *属性值,该怎么办?
我只是想知道,我们需要遵循什么标准,或者想知道社区如何处理这种情况。
更新:
我也将在服务器端进行验证。但在某些情况下。数据不存储在服务器中。它会被标记出来。只有当用户点击保存按钮时才会保存。
我将从javacript中选择数据并使用ajax将值发送到服务器。但我担心的是,如果用户更改了data- *属性中的值,那么即使服务器端验证也会满足要传递的规则。那我怎么防止他们?
答案 0 :(得分:7)
答案 1 :(得分:2)
您在标记或javascript对象中存储的任何内容都可以轻易被篡改,因此我的建议是对来自此类属性/对象的任何内容执行服务器端验证,尤其是在您将其用于CRUD或任何类似操作时!
答案 2 :(得分:1)
永远不依赖于(信任)客户端数据。
始终执行服务器端验证,以确保事务发生在正确的数据上。客户端应该是使应用程序更具互动性和响应性。
答案 3 :(得分:0)
我认为存储在data- *属性中的数据应该像任何其他客户端数据一样对待,即您应该不信任数据并在服务器上正确验证它。