javascript 安全问题 (jQuery DataTables)

标签 javascript jquery ajax security datatable

我正在构建一个 Web 应用程序,以向我们的团队和客户呈现数据表中的数据。

当客户登录时,我想隐藏除他们的数据之外的所有数据。某些行,某些列。当团队登录时,我希望所有数据可见。

如果我构建一个页面并根据登录者使用 DataTables columns.visible 选项隐藏内容,客户是否能够简单地打开浏览器的开发人员工具并对 JavaScript 进行修改,从而显示所有隐藏数据?

如果这是真的,我是否需要在数据离开我的服务器之前过滤掉数据(通过 AJAX 通过 json 提供)?

最佳答案

When a customer is logged in, I want to hide all data except theirs. Certain rows, certain columns. When the team is logged in, I want all data visible.

让我们定义一下“隐藏”的含义,您的意思是:

  1. 在显示器上不可见,或者
  2. 未通过页面源或响应消息发送到他们的计算机。

1) 以 UI 为中心,而 2) 以安全为中心。请记住,您通过 HTTPS 发送的任何数据都将存储在用户计算机的内存中;即使它在 GUI 中不可见,也有方法可以访问它。

如果您使用 DataTables columns.visible 隐藏内容,那么这会实现 1),但不会实现 2),因为数据仍在发送,对吧?如果用户打开浏览器的开发工具并查看原始 HTTP 响应,所有数据都会在那里。

如果该数据是敏感数据(例如地址和电话号码),那么这将被视为应用程序中的漏洞。

<小时/>

do I need to filter out the data before it leaves my server?

如果出于安全原因用户不应查看数据,那么仅仅关闭其可见性是不够的:您根本无法传输数据。所以是的,在发送响应之前在服务器上将其过滤掉。

关于javascript 安全问题 (jQuery DataTables),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26740424/

相关文章:

javascript - 在游戏中反转 javascript 中的数组

javascript - 引用网址的查询字符串

javascript - Socket.IO - 如何替换客户端上的事件监听器

javascript - IE中的Ajax建议列表问题

javascript - WP 在单独的 PHP 文件中调用自定义 AJAX 请求(WP 查询)

javascript - 丢失的元素

javascript - 如何通过使用javascript保护类名来在div列表上应用css样式

javascript - 单击空白链接时防止页面重新加载?

javascript - 在添加选项后选择出现问题

javascript - 无法通过 jQuery ajax 发布 Javascript 数组