V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  wysnylc  ›  全部回复第 98 页 / 共 110 页
回复总数  2182
1 ... 94  95  96  97  98  99  100  101  102  103 ... 110  
2017-07-04 18:23:51 +08:00
回复了 cuvii 创建的主题 问与答 V 站应该找不到逻辑能力比我更差的人了吧。
硬了没想起来应该是血液往下不往上,可以试试倒立
@shiwuxiwen 两天没上,不要急
package com.meadin.funding.service.support;

import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanPostProcessor;
import org.springframework.util.MultiValueMap;
import org.springframework.web.servlet.handler.AbstractHandlerMapping;
import org.springframework.web.util.HtmlUtils;
import org.springframework.web.util.UrlPathHelper;

import com.meadin.funding.util.CollectionUtils;

/**
* 解决 @PathVariable 注解造成的 xss 攻击问题,注意:此类必需由 WebApplicationContext 初始化
*
* @author zhou
*
*/
public class XssHandlerMappingPostProcessor implements BeanPostProcessor{

@Override
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException{
return bean;
}

@Override
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException{
if(bean instanceof AbstractHandlerMapping){
AbstractHandlerMapping ahm = (AbstractHandlerMapping) bean;
ahm.setUrlPathHelper(new XssUrlPathHelper());
}

return bean;
}

static class XssUrlPathHelper extends UrlPathHelper{

@Override
public Map<String, String> decodePathVariables(HttpServletRequest request, Map<String, String> vars){
Map<String, String> result = super.decodePathVariables(request, vars);
if(!CollectionUtils.isEmpty(result)){
for(String key : result.keySet()){
result.put(key, cleanXSS(result.get(key)));
}
}

return result;
}

@Override
public MultiValueMap<String, String> decodeMatrixVariables(HttpServletRequest request,
MultiValueMap<String, String> vars){
MultiValueMap<String, String> mvm = super.decodeMatrixVariables(request, vars);
if(!CollectionUtils.isEmpty(mvm)){
for(String key : mvm.keySet()){
List<String> value = mvm.get(key);
for(int i = 0; i < value.size(); i++){
value.set(i, cleanXSS(value.get(i)));
}
}
}

return mvm;
}

private String cleanXSS(String value){
return HtmlUtils.htmlEscape(value);
}

}

}
代码就是这样,应该没错
我已经实现好了,你要么
PHP 挺好的
2017-05-08 10:49:23 +08:00
回复了 flowfire 创建的主题 程序员 我现在遇到了一个比学历问题更加尴尬的问题
@SuperMild 皮球甩回去了,请 HR 解题
2017-05-05 10:28:34 +08:00
回复了 CruelMoon 创建的主题 职场话题 为什么我们应该写日报
建议写时报,连拉屎都写进去.
2017-04-25 13:04:48 +08:00
回复了 Sapp 创建的主题 问与答 有什么代替按键精灵的产品? Keyboard Maestro?
AHK?
2017-03-16 19:03:36 +08:00
回复了 zhihaofans 创建的主题 问与答 Chrome 扩展能不能做到系统的 hosts 的功能
可以啊,浏览器代理插件不都这么做的么
我也在 FS........................................................
2017-02-09 10:00:40 +08:00
回复了 myhu 创建的主题 职场话题 工作选择看看各位的看法
夜班是个什么鬼,什么工作啊.建议不要夜班,毕竟老婆一个人躺在床上...........................
北上广不相信眼泪,逃离无非是从一个坑跳入另一个坑.
2017-02-06 11:40:16 +08:00
回复了 qq258076067 创建的主题 NGINX 求助,需要一个 nginx 服务器
正则替换不知道,直接修改是可以的.
2017-02-04 10:02:38 +08:00
回复了 baskice 创建的主题 问与答 session 每次访问都会变,可能是哪些原因引起的?
负载均衡+1
HR 还招人么,换人也可以
2017-01-20 17:40:35 +08:00
回复了 daolin998 创建的主题 问与答 求推荐个抢票神器,给丈母娘抢票啊!
@daolin998 是时候亮出你的直升机了.
2017-01-20 17:25:10 +08:00
回复了 nbhec2 创建的主题 编程 OOP 思想真的很先进吗 GOTO 真的不能用吗
特意来上来骂你一句,沙比.
面向对象降低门槛真是第一次听说,这个真理你可以申请雨果奖.
低能的大脑无法装载程序?请问你的大脑能背多少字节的数据?怕是你的猪脑 1000 个 01 都背不下来.
趁早退出软件行业,至少别进入 java,有你这种智障在技术只会倒退不会进步.
1 ... 94  95  96  97  98  99  100  101  102  103 ... 110  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6216 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 52ms · UTC 02:03 · PVG 10:03 · LAX 19:03 · JFK 22:03
Developed with CodeLauncher
♥ Do have faith in what you're doing.