小菜利用工作之余编写了一款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. conda安装包

    前面讲了有关conda改变镜像提高安装速度,这里来解决很多实用C写的酷,在Windows下不好安装的解决方案 1. 寻找wheel预编译文件 没有的话 2.使用conda命令安装 没有该包的话 3.实 ...

  2. 3.View绘制分析笔记之onLayout

    上一篇文章我们了解了View的onMeasure,那么今天我们继续来学习Android View绘制三部曲的第二步,onLayout,布局. ViewRootImpl#performLayout pr ...

  3. MR操作

    MR操作————Map.Partitioner.Shuffle.Combiners.Reduce 1.Map步骤 1.1 读取输入文件,解析成k-v对,其中每个k-v对调用一次map函数 1.2 写自 ...

  4. js控制刷新后回到页面原来位置

    1.document.location.reload(); 2.http://www.jb51.net/article/99749.htm

  5. 网站banner写法

    css .banner{ width: %; height: 375px; background: url(X.jpg) no-repeat center;} html <div class=& ...

  6. 如果做好测试PM【转载】

    本文来源于:https://yq.aliyun.com/articles/14578?spm=5176.100238.yqhn2.14.Lcie4Y   摘要今年整体带了几个项目.我本人不是专业的PM ...

  7. 帝国CMS如何自动生成sitemap.xml网站地图文件

    登录网站的后台http://你的域名/e/admin/ 进入后台栏目 =>增加自定义页面 =>选择直接页面,页面名称为:网站地图,文件名修改为  ../../sitemap.xml 内容填 ...

  8. Codeforces 486E LIS of Sequence 题解

    题目大意: 一个序列,问其中每一个元素是否为所有最长上升子序列中的元素或是几个但不是所有最长上升子序列中的元素或一个最长上升子序列都不是. 思路: 求以每一个元素为开头和结尾的最长上升子序列长度,若两 ...

  9. mac osx Forbidden You don't have permission to access / on this server解决方法

    (1)首先查看*.conf 是否有读写权限,如果没有要将文件赋予读写权限,比如 localhost.conf (2)再查看/Users/username/Sites/localhost/文件夹是否有i ...

  10. JNI使用问题记录

    此文章包含Android JNI学习过程中的遇到的各种错误记录和学习总结. 1.错误:java.lang.UnsatisfiedLinkError: Native method not found: ...