当前位置: 首页 > news >正文

好的网站设计作品wordpress完整替换网址

好的网站设计作品,wordpress完整替换网址,欧米茄表价格官网报价,各大网站搜索引擎入口文章目录二、解决方案2.1. 创建CSRF防御统一管理2.2. 创建csrfToken校验2.3. 加密工具类2.4. 查询实战2.5. 添加和更新实战默认guns不支持添加headers的需要添加ax2二、解决方案 2.1. 创建CSRF防御统一管理 package com.gblfy.sys.config.web.csrf;import com.gblfy.base.uti… 文章目录二、解决方案2.1. 创建CSRF防御统一管理2.2. 创建csrfToken校验2.3. 加密工具类2.4. 查询实战2.5. 添加和更新实战默认guns不支持添加headers的需要添加ax2二、解决方案 2.1. 创建CSRF防御统一管理 package com.gblfy.sys.config.web.csrf;import com.gblfy.base.utils.SHACoderUtil;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession;/*** CSRF防御统一管理** author gblfy* date 2020-12-13*/ public final class CSRFTokenManager {/*** token令牌参数名*/static final String CSRF_PARAM_NAME cSRFToken;/*** 会话中存储令牌的位置(session中的csrfToken的key)*/public static final String CSRF_TOKEN_FOR_SESSION_ATTR_NAME CSRFTokenManager.class.getName() .tokenval;public static String getTokenForSession(HttpSession session) {String token null;//我不能允许一个会话中有多个令牌——在两个的情况下//尝试并发地初始化token令牌的请求// init the token concurrentlysynchronized (session) {token (String) session.getAttribute(CSRF_TOKEN_FOR_SESSION_ATTR_NAME);if (null token) {token SHACoderUtil.encodeSHA256Hex(cn.hutool.core.lang.UUID.randomUUID().toString());session.setAttribute(CSRF_TOKEN_FOR_SESSION_ATTR_NAME, token);}}return token;}/*** Extracts the token value from the session** param request* return*/public static String getTokenFromRequest(HttpServletRequest request) {return request.getParameter(CSRF_PARAM_NAME);}private CSRFTokenManager() {}public static void main(String[] args) {System.out.println(CSRF_TOKEN_FOR_SESSION_ATTR_NAME);} } 2.2. 创建csrfToken校验 package com.gblfy.sys.config.web.csrf;import com.gblfy.sys.core.exception.page.InvalidCSRFTokenException; import org.springframework.stereotype.Component;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession;Component public class CsrfToken {/*** 校验CsrfToken是否合法** param request* param session*/public static void checkCsrfToken(HttpServletRequest request, HttpSession session) {String requestHeaderToken request.getHeader(__RequestVerificationToken);String sessionCsrfToken session.getAttribute(CSRFTokenManager.CSRF_TOKEN_FOR_SESSION_ATTR_NAME).toString();if (requestHeaderToken null|| .equals(requestHeaderToken)|| .equals(sessionCsrfToken)|| sessionCsrfToken null|| !requestHeaderToken.equals(sessionCsrfToken)) {throw new InvalidCSRFTokenException();}} }2.3. 加密工具类 !--SHA256Hex加密--dependencygroupIdcommons-codec/groupIdartifactIdcommons-codec/artifactIdversion1.13/version/dependencypackage com.gblfy.base.utils;import org.apache.commons.codec.digest.DigestUtils; import org.springframework.stereotype.Component;Component public class SHACoderUtil { /*** SHA256Hex加密** param data 待加密数据* return String 消息摘要* throws Exception*/public static String encodeSHA256Hex(String data) {// 执行消息摘要return DigestUtils.sha256Hex(data);}public static void main(String[] args) throws Exception {String pasww encodeSHA256Hex();System.out.println(####pasww);}}2.4. 查询实战 /*** 跳转到查看管理员列表的页面** author gblfy* Date 2018/12/24 22:43*/RequestMapping()public String index(Model model,HttpServletRequest request) {model.addAttribute(ConstDb.CSRF_TOKEN, CSRFTokenManager.getTokenForSession(request.getSession()));return PREFIX user.html;}input typehidden idcSRFToken value${csrf} namecSRFTokenvar headers {};headers[__RequestVerificationToken] $(#cSRFToken).val();// 渲染表格var tableResult table.render({elem: # MgrUser.tableId,url: Feng.ctxPath /mgr/list,headers:headers,page: true,height: full-98,cellMinWidth: 100,toolbar: div工具栏/div,defaultToolbar: [filter, print],cols: MgrUser.initColumn()});/*** 查询管理员列表** author gblfy* Date 2018/12/24 22:43*/RequestMapping(/list)PermissionResponseBodypublic Object list(RequestParam(required false) String name,RequestParam(required false) String timeLimit,RequestParam(required false) Long deptId, HttpServletRequest request, HttpSession session) {//校验CsrfToken是否合法CsrfToken.checkCsrfToken(request,session);// ----------------------正常逻辑----------------------//拼接查询条件String beginTime ;String endTime ;if (ToolUtil.isNotEmpty(timeLimit)) {String[] split timeLimit.split( - );beginTime split[0];endTime split[1];}if (ShiroKit.isAdmin()) {PageMapString, Object users userService.selectUsers(null, name, beginTime, endTime, deptId);Page wrapped new UserWrapper(users).wrap();return LayuiPageFactory.createPageInfo(wrapped);} else {DataScope dataScope new DataScope(ShiroKit.getDeptDataScope());PageMapString, Object users userService.selectUsers(dataScope, name, beginTime, endTime, deptId);Page wrapped new UserWrapper(users).wrap();return LayuiPageFactory.createPageInfo(wrapped);}} 2.5. 添加和更新实战 /*** 跳转到查看管理员列表的页面** author gblfy* Date 2018/12/24 22:43*/RequestMapping(/user_add)public String addView(Model model,HttpServletRequest request) {model.addAttribute(ConstDb.CSRF_TOKEN, CSRFTokenManager.getTokenForSession(request.getSession()));return PREFIX user_add.html;}/*** 跳转到编辑管理员页面** author gblfy* Date 2018/12/24 22:43*/PermissionRequestMapping(/user_edit)public String userEdit(RequestParam Long userId,Model model,HttpServletRequest request) {model.addAttribute(ConstDb.CSRF_TOKEN, CSRFTokenManager.getTokenForSession(request.getSession()));if (ToolUtil.isEmpty(userId)) {throw new ServiceException(BizExceptionEnum.REQUEST_NULL);}User user this.userService.getById(userId);LogObjectHolder.me().set(user);return PREFIX user_edit.html;}input typehidden idcSRFToken value${csrf} namecSRFTokenlayui.use([layer, form, admin, laydate, ax, ax2], function () {var $ layui.jquery;var $ax layui.ax;var $ax2 layui.ax2;var form layui.form;var admin layui.admin;var laydate layui.laydate;var layer layui.layer;var headers {};headers[__RequestVerificationToken] $(#cSRFToken).val();// 表单提交事件form.on(submit(btnSubmit), function (data) {var ajax new $ax2(Feng.ctxPath /mgr/add, headers, function (data) {Feng.success(添加成功);//传给上个页面刷新table用admin.putTempData(formOk, true);//关掉对话框admin.closeThisDialog();}, function (data) {Feng.error(添加失败 data.responseJSON.message)});ajax.set(data.field);ajax.start();}); });layui.define([jquery], function (exports) {var $ layui.$;var $ax2 function (url,headers,success, error) {this.url url;this.type post;this.data {};this.dataType json;this.async false;this.success success;this.error error;this.headers headers;};$ax2.prototype {start: function () {var me this;var result ;if (this.url.indexOf(?) -1) {this.url this.url ?jstime new Date().getTime();} else {this.url this.url jstime new Date().getTime();}$.ajax({type: me.type,url: me.url,dataType: me.dataType,async: me.async,data: me.data,headers: me.headers,beforeSend: function (data) {},success: function (data) {result data;if (me.success ! undefined) {me.success(data);}},error: function (data) {if (me.error ! undefined) {me.error(data);}}});return result;},set: function (key, value) {if (typeof key object) {for (var i in key) {if (typeof i function)continue;this.data[i] key[i];}} else {this.data[key] (typeof value undefined) ? $(# key).val() : value;}return this;},setData: function (data) {this.data data;return this;},clear: function () {this.data {};return this;}};exports(ax2, $ax2); });/*** 添加管理员** author gblfy* Date 2018/12/24 22:44*/RequestMapping(/add)BussinessLog(value 添加管理员, key account, dict UserDict.class)Permission(Const.ADMIN_NAME)ResponseBodypublic ResponseData add(Valid UserDto user, BindingResult result, HttpServletRequest request, HttpSession session) {//校验CsrfToken是否合法CsrfToken.checkCsrfToken(request,session);// ----------------------正常逻辑----------------------if (result.hasErrors()) {throw new ServiceException(BizExceptionEnum.REQUEST_NULL);}this.userService.addUser(user);return SUCCESS_TIP;}/*** 修改管理员** author gblfy* Date 2018/12/24 22:44*/RequestMapping(/edit)BussinessLog(value 修改管理员, key account, dict UserDict.class)ResponseBodypublic ResponseData edit(Valid UserDto user, BindingResult result, HttpServletRequest request, HttpSession session) {//校验CsrfToken是否合法CsrfToken.checkCsrfToken(request,session);// ----------------------正常逻辑----------------------if (result.hasErrors()) {throw new ServiceException(BizExceptionEnum.REQUEST_NULL);}this.userService.editUser(user);return SUCCESS_TIP;}
http://www.yutouwan.com/news/2276/

相关文章:

  • 网站开发常用的谷歌插件建设银行网站会员基本信息
  • 房地产建设网站的意义社区网站建设策划方案
  • 富源县建设局网站产品营销策划
  • 岳阳市住房和城乡建设局网站移动网站开发认证考试
  • 南京越城建设集团网站沧州网站建设定制价格
  • 合肥环保公司网站建设如何介绍自己的网页设计
  • 淮安哪个做网站好点网站如何建立
  • 数字广东网络建设有限公司总经理排名轻松seo 网站
  • 广东省企业诚信建设促进会网站企业网站建设文档
  • 二级目录做网站便宜的域名
  • 公司网站建设外包建筑建设规范网站
  • 深圳网站建设ue四川网站建设哪家专业
  • 工装效果图网站太原铁路建设有限公司网站
  • 做网站在哪里租服务器wordpress ajax 流量统计
  • 城阳做网站的网站推广的一般方式
  • pe管网站建设 中企动力阜阳恒亮做网站多少钱
  • 网站建设与制作外包服务信息服务平台有哪些网站
  • 建网站的宽带多少钱做网站需要哪些技术人才
  • 佛山做网站公司排名济南润滑油网站制作
  • 做网站现在什么最赚钱吗建设个直播网站要多少钱
  • 设计师必去十大网站wix和wordpress区别
  • 哪家网站建设比较好WordPress云媒体库
  • 惠州网站建设怎么样三牛网站建设
  • 网站出问题做门户网站的公司有哪些
  • 北京做网站一般多少钱分销网站有哪些
  • 单页响应式网站模板php网站开发基础教程
  • 建设网站盈利2015外贸企业网站对外贸的重要性
  • 如何把网站能搜到天津的网站建设公司哪家好
  • 烦恼可以做网站吗安全网站开发
  • 点餐网站模板 手机端在手机上做游戏的软件