在 API 调用 Web 应用程序之前清理数据

sanitizing data before API call in web app

我有一个具有表单输入的 React 应用程序。用户将填写此表单,完成后,此数据将通过 POST 请求发送到服务(Spring 启动应用程序),该服务将保留数据。该网络应用程序还具有搜索功能,并将通过 GET 请求将查询参数发送到相同的 Spring 启动应用程序。

我正在使用过滤器对 Spring 启动应用程序中收到的数据进行清理。

我的问题是,由于服务器端正在验证数据并剔除可能的 XSS 攻击代码,是否也有必要对输入到 React 应用程序端表单中的数据进行清理?如果是这样,我会在 API 调用之前执行此操作吗?即在数据被添加到 POST 有效负载之前,或者一旦从输入文本字段中读入数据,是否有代码去除危险字符?

我在网上阅读了很多帖子,并在此处找到了答案。我知道在服务器端进行验证似乎最重要,因为客户端代码不可信任。我不清楚的是,由于任何可能的攻击者都可以访问客户端代码,他们难道不能绕过客户端的任何验证机制,从而使首先在客户端上添加变得毫无意义吗?我现在能看到的唯一优势是尽早检测到危险输入。

谢谢

进行客户端验证并非毫无意义 - 其一,其良好的用户体验 - 你永远不应该允许用户在输入字段中输入无效数据,否则他们将在之后看到一连串的服务器端错误消息提交。

其次,它可以阻止偶然的攻击者,他们可能只是想看看如果他们在用户名字段中输入 ' 会发生什么...(sql 注入攻击)。但是,否则谁可能不会费心拿出网络代理并开始全面攻击。