angularjs - 如何在验证之前通过弹簧过滤器传递角度请求?
问题描述
我在后端应用程序(带有 JAVA、Spring 的应用程序......)中有一个 XSS 过滤器,我需要在验证其余内容之前根据过滤器从前端应用程序(Angularjs)检查输入值是否正常。
到目前为止,我已经实现了:
表单(AngularJS)-> 验证(AngularJS)-> 过滤器(返回,弹簧)-> 存储
我需要:
表单 (AngularJS) -> 过滤器 (Back, Spring) -> 验证 (AngularJS) -> 存储
I have this filter in the back application.
<!--XSS filter-->
<filter>
<display-name>XSSFilter</display-name>
<filter-name>XSSFilter</filter-name>
<filter-class>org.filter.XSSFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>XSSFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
And I need to clean the XSS info
$scope.save = function ($event) {
-> Here I need to clean the XSS info
//Validate
if (!$scope.validate()) {
manageValidationErrors();
return;
}
解决方案
您应该验证两次(无论如何)。一次在前端解决简单问题(电子邮件地址中缺少@),然后在后端(再次缺少@,但可能还会检查参考表等),然后再写入您的商店。这也可以解决您的问题,因为您可以在 XSS 过滤器之后在服务器上进行验证。
您建议的方法的问题是将未经验证的数据发送到服务器,应用 XSS 过滤器,发送回客户端以再次验证,然后发送回服务器,这将永远循环。
推荐阅读
- google-cloud-platform - 谷歌云项目合并
- python - 使用 Scrapy 抓取 json 文件的多个 url
- c# - 运行测试时更新 DataGridView
- python - 如何构建包装 pytest 插件?
- html - 输入文本字段在移动视图中变为只读
- python - 标准 python 模块在哪里?
- c# - c#从二维数组复制,包括演员表
- c++ - 嵌入式系统:WDT / sleep fct 后声音丢失
- visual-studio - Visual Studio 2019 中可执行文件与 CMAKE_MSVC_RUNTIME_LIBRARY 的静态链接
- c++ - 为什么我收到堆缓冲区溢出运行时错误