小菜利用工作之余编写了一款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表中查询规则。

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

kpvalidate开辟验证组件官方网址。

kpvalidate开辟验证组件,通用Java Web请求服务器端数据验证组件的更多相关文章

  1. MVC5 + EF6 + Bootstrap3 (15) 应用ModelState和Data Annotation做服务器端数据验证

    Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc5-ef6-bs3-get-started-server-side-validation.html 系列 ...

  2. 前端组件库 - 搭建web app常用的样式/组件等收集列表(移动优先)

    0. 前端自动化(Workflow) 前端构建工具 Webpack - module bundler Yeoman - a set of tools for automating developmen ...

  3. 微软企业库5.0 学习之路——第六步、使用Validation模块进行服务器端数据验证

    前端时间花了1个多星期的时间写了使用jQuery.Validate进行客户端验证,但是那仅仅是客户端的验证,在开发项目的过程中,客户端的信息永远是不可信的,所以我们还需要在服务器端进行服务器端的验证已 ...

  4. Java Web请求和响应机制

    1.请求响应流程图 =================== 服务器处理请求的流程: 服务器每次收到请求时,都会为这个请求开辟一个新的线程. 服务器会把客户端的请求数据封装到request对象中,req ...

  5. 我的Java之旅 第六课 JAVA WEB 请求与响应

    一.有关URL编码    1.在URL的规范中定义了一些保留字符,如::  /  ?  & =  @  % 等,在URI中有它的作用.如果要在URI中包含这些字符,必须转码,即%字符后跟十六进 ...

  6. Java web 之表单验证

    按照软件工程师的定位来讲,表单验证应该要好好练习的 html  javascript

  7. java Web 请求servlet绘制验证码简单例子

    主要用来了解java代码怎么绘制验证码图片,实际开发中不会这样用 protected void doGet(HttpServletRequest request, HttpServletRespons ...

  8. java web请求过程

    小技巧: 1.浏览器缓存 Ctrl+F5组合键刷新页面,浏览器会直接向目标URL发送请求,而不会使用浏览器缓存,并会在HTTP请求header中增加下面的请求头来告诉服务器不使用服务器缓存 发现在re ...

  9. java web接收POST数据

    新建一个ServerForPOSTMethod的动态网站工程

随机推荐

  1. php.exe php-cgi.exe php-win.exe的区别

    php.exe(linux下是php/bin/php)是提供来在命令行(命令行解释器)执行PHP文件的工具,比如你在有文件abc.php,那么你可以在CMD命令提示符下执行命令php.exe abc. ...

  2. python 小程序 比较目录间的差异

    比较目录间的差异: I 只按照名称做了比较,如果目录的文件名称相同,但是内容不同脚本认为为相同文件 II 针对目录下面的目录没有循环比较,只是比较了目录的名称 import sys, os def d ...

  3. openfl使用64位的ndk时,编译报错的问题!

    当使用64位的ndk时,如果使用openfl test android运行android测试,应该会出现 arm-linux-androideabi-g++:找不到这个命令的错误. 原因是,haxel ...

  4. 前端CSS规范整理_转载、、、

    一.文件规范 1.文件均归档至约定的目录中. 具体要求通过豆瓣的CSS规范进行讲解: 所有的CSS分为两大类:通用类和业务类.通用的CSS文件,放在如下目录中: 基本样式库 /css/core 通用U ...

  5. UDP和TCP的区别

    UDP(User Datagram Protocol 用户数据报协议) TCP(Transmission Control Protocol 传输控制协议) UDP是一种非面向连接的传输协议,它的实现是 ...

  6. 懒加载lazyload

    什么是懒加载 懒加载就是当你做滚动到页面某个位置,然后再显示当前位置的图片,这样做可以减少页面请求. 懒加载:主要目的是作为服务器前端的优化,减少请求数或延迟请求数,一些图片非常多的网站中非常有用,在 ...

  7. linux 字符设备驱动写法

    字符设备,块设备书 一.register_chrdev_region, register_chrdev, misc_register misc device(杂项设备) 在 Linux 内核的incl ...

  8. Android与H5交互

    1.初始化WebView控件 webView = (WebView) findViewById(R.id.webview); 2.设置WebView属性 WebSettings webSettings ...

  9. Docker学习笔记第一章:补充

    只记得学习后面的命令,忘记整理一些概念性的东西了,只能做个补充了=.= Docker虽然也是一种虚拟技术,但是不同于虚拟机的概念.Docker是一种以容器为主的技术,容器运行不需要模拟层(emulat ...

  10. IntelliJ IDEA - 热部署插件JRebel 安装使用教程

    IntelliJ IDEA - JRebel 安装使用教程 JRebel 能做什么? JRebel 是一款热部署插件.当你的 Java-web 项目在 tomcat 中 run/debug 的时候 , ...