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

推广是做什么网站优化细节怎么做

推广是做什么,网站优化细节怎么做,wordpress制作网站教程视频,网上做调查问卷赚钱的网站一、xss简介 人们经常将跨站脚本攻击#xff08;Cross Site Scripting#xff09;缩写为CSS#xff0c;但这会与层叠样式表#xff08;Cascading Style Sheets#xff0c;CSS#xff09;的缩写混淆。因此#xff0c;有人将跨站脚本攻击缩写为XSS。跨站脚本攻击#xff…一、xss简介 人们经常将跨站脚本攻击Cross Site Scripting缩写为CSS但这会与层叠样式表Cascading Style SheetsCSS的缩写混淆。因此有人将跨站脚本攻击缩写为XSS。跨站脚本攻击XSS是最普遍的Web应用安全漏洞。这类漏洞能够使得攻击者嵌入恶意脚本代码到正常用户会访问到的页面中当正常用户访问该页面时则可导致嵌入的恶意脚本代码的执行从而达到恶意攻击用户的目的。 攻击者可以使用户在浏览器中执行其预定义的恶意脚本其导致的危害可想而知如劫持用户会话插入恶意内容、重定向用户、使用恶意软件劫持用户浏览器、繁殖XSS蠕虫甚至破坏网站、修改路由器配置信息等。 二、解决方式 解决方式有很多这里介绍将内容经过转义然后再存储到服务器上。 package com.wssnail.xss.config;import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonDeserializer; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.module.SimpleModule; import org.apache.commons.lang3.StringUtils; import org.apache.commons.text.StringEscapeUtils; import org.springframework.context.annotation.Configuration; import org.springframework.http.MediaType; import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; import org.springframework.web.servlet.config.annotation.ContentNegotiationConfigurer; import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;import java.io.IOException; import java.util.List; import java.util.ListIterator;/*** author 熟透的蜗牛* version 1.0* description: 配置xss攻击过滤* date 2023/8/14 23:48*/ Configuration public class WebMvcConfig extends WebMvcConfigurationSupport {Overrideprotected void extendMessageConverters(ListHttpMessageConverter? messageConverters) {/*** 替换默认的MappingJackson2HttpMessageConverter过滤(json请求参数)xss*/ListIteratorHttpMessageConverter? listIterator messageConverters.listIterator();while (listIterator.hasNext()) {HttpMessageConverter? next listIterator.next();if (next instanceof MappingJackson2HttpMessageConverter) {listIterator.remove();break;}}messageConverters.add(getMappingJackson2HttpMessageConverter());}public MappingJackson2HttpMessageConverter getMappingJackson2HttpMessageConverter() {// 创建自定义ObjectMapperSimpleModule module new SimpleModule();module.addDeserializer(String.class, new JsonHtmlXssDeserializer(String.class));ObjectMapper objectMapper Jackson2ObjectMapperBuilder.json().applicationContext(this.getApplicationContext()).build();objectMapper.registerModule(module);// 创建自定义消息转换器MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter new MappingJackson2HttpMessageConverter();mappingJackson2HttpMessageConverter.setObjectMapper(objectMapper);return mappingJackson2HttpMessageConverter;}/*** 添加默认请求类型*/Overridepublic void configureContentNegotiation(ContentNegotiationConfigurer configurer) {configurer.ignoreAcceptHeader(true).defaultContentType(MediaType.APPLICATION_JSON, MediaType.TEXT_XML, MediaType.APPLICATION_XML);}}/*** author 熟透的蜗牛* version 1.0* description: 对xss进行过滤* date 2023/8/14 23:49*/ class JsonHtmlXssDeserializer extends JsonDeserializerString {public JsonHtmlXssDeserializer(ClassString string) {super();}Overridepublic ClassString handledType() {return String.class;}Overridepublic String deserialize(JsonParser jsonParser, DeserializationContext deserializationContext)throws IOException {String value jsonParser.getValueAsString();if (!StringUtils.isEmpty(value)) {return StringEscapeUtils.escapeHtml4(value);}return value;}}请求如上接口经过转义之后存到数据库的内容就不再是我们传参的数据而是经过转义的内容 经过查询之后内容就回显成转义之后的内容了如下图 三、解决转义的内容 先说一下思路自定义一个注解作用在实体类或者字段上当查询的时候在数据返回之前对数据进行反转义。下面直接上代码。 自定义注解 package com.wssnail.xss.annotation;import java.lang.annotation.*;Target({ElementType.TYPE,ElementType.FIELD}) Retention(RetentionPolicy.RUNTIME) Documented public interface StringEscapeCode {}工具类 package com.wssnail.xss.utils;import com.wssnail.xss.annotation.StringEscapeCode; import org.apache.commons.text.StringEscapeUtils;import java.lang.reflect.Field;/*** author 熟透的蜗牛* version 1.0* description: 配置字符串格式文本处理工具* date 2023/8/14 23:50*/ public class StringEscapeCodeUtil {public static void stringEscape(Class? clazz, Object obj) throws IllegalAccessException {StringEscapeCode declaredAnnotation clazz.getDeclaredAnnotation(StringEscapeCode.class);if (declaredAnnotation ! null) {Field[] fields clazz.getDeclaredFields();for (int i 0; i fields.length; i) {if (fields[i].getGenericType().toString().endsWith(String)) {//有注解设置字段fields[i].setAccessible(true);String value StringEscapeUtils.unescapeHtml4((String) fields[i].get(obj));fields[i].set(obj, value);}}} else {Field[] fields clazz.getDeclaredFields();for (int i 0; i fields.length; i) {StringEscapeCode annotation fields[i].getAnnotation(StringEscapeCode.class);if (fields[i].getGenericType().toString().endsWith(String)) {if (annotation ! null) {//有注解设置字段fields[i].setAccessible(true);String value StringEscapeUtils.unescapeHtml4((String) fields[i].get(obj));fields[i].set(obj, value);}}}}} }实际使用 package com.wssnail.xss.annotation;import java.lang.annotation.*;/*** author 熟透的蜗牛* version 1.0* description: 自定义注解* 使用方法 将该注解添加到类上或者属性上只有作用在、string类型的属性上注解才会生效* date 2023/8/15 0:13*/ Target({ElementType.TYPE, ElementType.FIELD}) Retention(RetentionPolicy.RUNTIME) Documented public interface StringEscapeCode {}public User getById(Integer id) {try {User user userMapper.findByID(id);Class? extends User clazz user.getClass();StringEscapeCodeUtil.unStringEscape(clazz, user);return user;} catch (IllegalAccessException e) {throw new RuntimeException(e);}} 然后查询的时候就会正常显示内容了。  完整代码  xss-demo: 解决xss转义乱码返回的问题
http://www.dnsts.com.cn/news/21047.html

相关文章:

  • 阳泉推广型网站开发org 结尾的网站注册要什么手续
  • wordpress网站logo360浏览器最新版本下载安装
  • 网站服务对生活的影响辽宁工程招投标信息网
  • 深圳个性化建网站公司网页设计心得体会600
  • 做片头的网站童程童美少儿编程怎样收费
  • 灵台门户网站建设建设厅官方网站下载专区
  • 漳州招商局规划建设局网站网站都要交域名费么
  • 营销专业网站织梦网站栏目如何做下拉
  • 永康市建设银行网站查询写作投稿平台
  • html友情链接代码保定网站优化哪家好
  • 建网站一般用什么工具蛙蛙写作网站
  • 腾网站建设网站设计 模板
  • 公司找人做网站wordpress页面的template
  • 公司建网站多少钱一个抖音关键词排名查询工具
  • 本地电脑做服务器 建网站网页游戏排名
  • 2015做导航网站wordpress免费主
  • 用钩针做花网站微信做模型网站赚钱么
  • 哪个网站可以免费设计房子安徽康东建设工程有限公司网站
  • 网站开发项目终止协议书贵阳网站开发推荐
  • 宝塔怎么做第二个网站永久免费的网站
  • 机械加工网站推广有效果吗微信商城小程序免费制作平台
  • 绍兴市中等专业学校网站久久w 网
  • 想学做电商怎么加入网站建设和优化内容最重要性
  • 重庆网站设计制造厂家app源码交易平台
  • 网站建设推广济南兴田德润优惠吗网站流量
  • ftp更换网站谷歌商店下载官方
  • 梧州市建设局官方网站小工程承包
  • 网站综合排名信息查询网页浏览器图标
  • 做网站 做手机app要学什么软件鞋子的网站策划方案模板
  • 免费一键生成个人网站网络游戏营销策略