小菜利用工作之余编写了一款Java小插件,主要是用来验证Web请求的数据,是在服务器端进行验证,不是简单的浏览器端验证。

小菜编写的仅仅是一款非常初级的组件而已,但小菜为它写了详细的说明文档。

简单介绍一下:

kpvalidate是一款为java Web开发的插件,它用来在Web后台验证提交数据的合法性。

目前大多数网站验证提交数据合法性都是在页面中用js脚本验证,这样的验证有很大的安全隐患因为脚本仅仅可以运行在客户端的浏览器上,恶意用户很容易绕过这个验证,随便一个简单的模拟提交,就可以成功提交非法数据,非法数据入库之后,容易形成xss攻击。

如果系统对安全性要求较高,我们就必须在后台进行数据验证,彻底避免非法数据提交。

考虑到这种验证应用比较普遍、模式比较单一,因此可以做成通用的组件,避免重复劳动。

而开辟验证组件正是为此而来,精心的设计、简洁的代码、方便的集成方式,让您的项目事半功倍。

如果您还在为数据验证而苦恼,那么不妨试试开辟验证组件吧~

关于数据库:

服务器端进行数据验证,不可避免的会用到规则配置,小菜经过思考,觉得还是把规则配置放到数据库中比较合理,因此这个小组件会用到以下四张表:

T_VALIDATE_PATH(访问路径表):用来配置请求的路径,主要是存放路径

T_VALIDATE_FIELD(验证字段表):用来配置验证的字段,主要是存放字段名称

T_FIELD_PATH(验证字段-访问路径对应表):用来对应请求路径和验证字段,是一个多对多关系。

T_VALIDATE_RULE(验证规则表):用来配置验证的规则,主要是存放验证规则(正则表达式)。

整体思路为:从request对象中拿到请求路径,去T_VALIDATE_PATH表中查询该路径的id,然后根据此id去T_FIELD_PATH表中查询该路径对应的验证字段,然后在用验证字段的id去T_VALIDATE_RULE表中查询规则。

好啦,小菜就简单介绍到这,官方网站有详细的介绍、使用说明、下载。

java web 数据验证_kpvalidate开辟验证组件,通用Java Web请求服务器端数据验证组件...相关推荐

  1. ajax请求服务器端数据

    ajax对象的属性和方法:              属性:              responseText以字符串形式获取服务器端返回信息               readyState aj ...

  2. Python----获取http请求报文数据

    Python--获取http请求报文数据 import socket if __name__ == '__main__':# 1.创建tcp服务端套接字tcp_server_socket = sock ...

  3. Vue2前端请求API数据跨域问题解决

    Vue2前端请求API数据跨域问题解决方法 前端:Vue2 接口使用:API 问题报错提示: Access to XMLHttpRequest at 'http://localhost:9090/ec ...

  4. Scott Mitchell 的ASP.NET 2.0数据教程之三十九:: 在编辑和插入界面里添加验证控件...

    原文 | 下载本教程中的编码例子 | 下载本教程的PDF版 导言 到目前为止的讨论编辑DataList的教程里,没有包含任何验证用户的输入,即使是用户非法输入- 遗漏了product的name或者负的 ...

  5. Java Spring Security示例教程中的2种设置LDAP Active Directory身份验证的方法

    LDAP身份验证是全球范围内最流行的企业应用程序身份验证机制之一,而Active Directory (Microsoft针对Windows的LDAP实现)是另一种广泛使用的LDAP服务器. 在许多项 ...

  6. Java Web学习总结(42)——JavaEE常用的13种核心API与组件

    JAVAEE平台由一整套服务(Services).应用程序接口(APIs)和协议构成,它对开发基于Web的多层应用提供了功能支持. 1.JDBC(Java Database Connectivity) ...

  7. namenode无法启动_大数据系列教程003-hadoop伪分布式环境搭建步骤11-启动与验证环境...

    声明:大数据系列教程文章由Java潘老师辛苦原创,免费公开供java爱好者学习.本教程学习知识储备:Java SE基础.Linux基础.数据库基础 1.将/usr/hadoop目录赋予777权限,否则 ...

  8. java验证身份证合法性_Java安全性,第2部分:身份验证和授权

    关于本教程 本教程是关于什么的? 也许没有比应用程序安全更重要的软件工程主题. 攻击是昂贵的,无论是来自内部还是外部,而且某些攻击可能会使软件公司承担赔偿责任. 随着计算机(尤其是Internet)技 ...

  9. 大数据培训之旅——Java-9(设计模式、Java Web)

    java终于要完事了,最后一篇Java的文章,设计模式和Java Web,当然因为我们不是纯Java开发,所以这俩了解了解就可以了.这篇应该是文字最多的了.Java之后应该就是Oracle数据库了.如 ...

最新文章

  1. git add 文件夹_Git的下载安装以及基本操作
  2. 2542513 - AS Java fails to start - Initialization of destination UMEBackendConnection failed
  3. 【OpenCV 4开发详解】图像距离变换
  4. OpenCV3编程入门(毛星云)之用滚动条控制两图片的混合
  5. 腾讯企业级消息中间件CMQ技术解密
  6. echarts各种事件
  7. java 代码 _程序员用1.5小时写出的Java代码,让同事瞠目结舌!直呼优秀
  8. oracle查询多张表交集,Oracle中对两个数据表交集的查询-专栏,ORACLE
  9. jQuery数据缓存功能的解析及简单实现
  10. 新时代程序员——怎么样应对吃青春饭问题
  11. 48V转12V电源芯片,48V转15V降压芯片电路图方案
  12. 在ArcCatalog中通过图标来认识ArcGIS中的数据
  13. python安装 文件或目录损坏_文件或目录损坏且无法读取怎么办?
  14. 基于python的图像识别
  15. Codeforces 235C Cyclical Quest(后缀自动机)
  16. Android禁止app字体大小跟随系统字体大小调节
  17. VxWorks 任务使用的学习
  18. 吾征:通过认知智能技术把中医的“望闻问切”搬上互联网 | 百万人学AI评选
  19. Ubuntu 18.04下搜狗拼音输入法选词面板乱码问题(通过更换输入法版本完美解决,一劳永逸)
  20. 用筛选法求100之内的素数(C语言 数组)

热门文章

  1. mysql float 怎么设置长度_MySQL中float double decimal区别总结
  2. idea打开vue项目后报错ESLint: Expected space or tab after ‘//‘ in comment.(spaced-comment)
  3. 10.Java 面试题整理(CORBA 方面)
  4. 安卓学习笔记22:常用控件 - 可展开列表视图
  5. 【BZOJ3551】Peaks加强版,主席树+kruskal重构+dfs序+倍增思想
  6. 2017.4.2 loli测试
  7. 【英语学习】【English L06】U08 News L2 Have you read the news about the light show?
  8. ArrayList 面试10连问
  9. linux io分析工具,io性能分析工具-iostat
  10. java枚举来实现单例_枚举实现单例模式