知识卡片
列表页分页设计暗藏的技术与数据泄露风险
内容
列表页分页如果为了显示”共XX页/跳转到最后一页”这类体验,后台就必须读取全部符合条件的数据来计算总数,这在数据量大时会给数据库造成很大压力,甚至拖垮系统;同时,用户能借助页码和每页条数反推总数据量,如果列表页还带导出功能,就可能一次性导出全部数据,造成数据泄露。更安全的方案是只让用户看到当前页前后几页、不显示总页数也不能跳到最后一页,并对查询的时间范围做限制(如只能查一周内数据)。发散:这是一个典型的”看起来是小交互细节,实则是架构与安全问题”的例子——评审UI设计时,遇到”总页数”“跳到尾页”“全部导出”这类看似方便的功能,都值得多问一句它背后要不要读全表。
参考来源
《决胜B端:驱动数字化转型的产品经理》第05章《5.4 界面与常见组件设计》