- 浏览: 281558 次
- 性别:
- 来自: 哈尔滨
文章分类
最新评论
-
netfengxia:
这个是Mybatis哦. 是一个ORM框架, 这里展示的是My ...
mybatis merge 语句使用 -
MILLETS:
好像没有效果
jsp页面打印、预览、设置实现方案 -
evic520:
mysql有merge into的用法?是不是标题错了 楼主? ...
mybatis merge 语句使用 -
winner_king:
解决问题
pager-taglib分页中文乱码问题 -
Renee涟漪:
...
SVN搭建
1、建立CrossDomainFilter.java
package net.hlj.common.filter; import java.io.IOException; import java.io.PrintWriter; import java.util.Enumeration; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; /** * @项目名:houseInfo * @包名:net.hlj.common.filter * @文件名:CrossDomainFilter.java * @日期:Feb 9, 2012 3:49:24 PM * @备注:防跨域 * @作者:apple */ public class CrossDomainFilter implements Filter{ private static Log log = LogFactory.getLog(CrossDomainFilter.class); public void destroy() { // TODO Auto-generated method stub } public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws IOException, ServletException { // TODO Auto-generated method stub HttpServletRequest request = (HttpServletRequest) arg0; HttpServletResponse response = (HttpServletResponse) arg1; String servername_str = request.getServerName();//取前一个地址 String currentURI = request.getRequestURI(); Enumeration headerValues = request.getHeaders("Referer"); String tmpHeaderValue = ""; boolean isValid = true; //指定需要跳过拦截的页面地址,如果需要新增,可直接在数组中添加。 String [] ignoreURIS={"/back/"}; while (headerValues.hasMoreElements()) { // 得到完整的路径:如“http://www.xxx.com/xxx/xxx.jsp?id=xxx” tmpHeaderValue = (String) headerValues.nextElement(); } // if(log.isInfoEnabled()){ // log.info(" 获得的参数url为: " + tmpHeaderValue ); // log.info(" 系统取得的url为:"+ currentURI); // } if ("".equals(tmpHeaderValue)) { isValid = false; // if(log.isInfoEnabled()){ // log.info(" 获得的参数url为: empty"); // log.info(" 系统取得的url为:"+ currentURI); // log.info("系统提示:请求可能来自外域!"); // } } else { // if(log.isInfoEnabled()){ // log.info("获得的参数长度为:"+tmpHeaderValue.length()); // } tmpHeaderValue = tmpHeaderValue.toLowerCase(); servername_str = servername_str.toLowerCase(); int len = 0; if (tmpHeaderValue.startsWith("https://")) { len = 8; } else if (tmpHeaderValue.startsWith("http://")) { len = 7; } // if(log.isInfoEnabled()){ // log.info("截取前的字符串为:" + tmpHeaderValue ); // log.info( "从第 " + len + " 位开始截取,截取长度为:" + servername_str.length()); // } String tmp = tmpHeaderValue.substring(len, servername_str.length() + len); // if(log.isInfoEnabled()){ // log.info("截取后的字符串为:" + tmp); // } if (tmp.length() < servername_str.length()) { // 长度不够 isValid = false; // if(log.isInfoEnabled()){ // log.info("截取后的字符串长度不够,请求可能来自外域!"); // } } else if (!tmp.equals(servername_str)) {// 比较字符串(主机名称)是否相同 isValid = false; // if(log.isInfoEnabled()){ // log.info("域名匹配失败,请求来自外域!"); // } } } // 跳过指定需要拦截的页面地址 for (String ignoreURI : ignoreURIS) { if(currentURI.contains(ignoreURI)){ isValid=true; // if(log.isInfoEnabled()){ // log.info("系统已跳过检查以下url:"+currentURI); // } } } //如果第一次访问 if(tmpHeaderValue.equals("")){ isValid=true; } if (!isValid) { // if(log.isInfoEnabled()){ // log.info("系统提示信息:URL为跨域请求,即将重定向到首页。 "); // } // response.sendRedirect("/example/exampleIndex.jsp"); PrintWriter out=response.getWriter(); out.print("Page Not Found!"); } else { arg2.doFilter(arg0, arg1); } } public void init(FilterConfig arg0) throws ServletException { // TODO Auto-generated method stub } }
2、web.xml
<!-- 防跨域 --> <filter> <filter-name>CrossDomainFilter</filter-name> <filter-class>net.hlj.common.filter.CrossDomainFilter</filter-class> </filter> <filter-mapping> <filter-name>CrossDomainFilter</filter-name> <url-pattern>*</url-pattern> </filter-mapping>
发表评论
-
struts2从2.2.3升级到2.3.15.1步骤
2014-05-19 10:41 10681. 删除以下jar包 asm-3.1.jar asm- ... -
mybatis merge 语句使用
2014-03-26 10:26 17736<update id="saveRechou ... -
多个SSH2 项目部署在Tomcat下,解决Tomcat启动失败问题
2013-04-24 09:30 2174我在tomcat下同时部署多个SSH2项目时,Tomcat启 ... -
WEB容器启动的时候,加载常用数据到内存
2012-04-26 09:00 1241项目中,有很多数据是基本上不变的,同时用到的频率还比较高,如果 ... -
给spring jdbctemplate加上一层“华丽外衣”-动态SQL&&SQL语句以文件存放
2012-04-26 08:58 1362用hibernate用得多了,忽然怀念起自己直接写sql 的轻 ... -
struts2文件下载
2012-04-01 09:19 981public String download(){ ... -
spring JdbcTemplate文件写数据库,读取
2012-03-31 15:09 1711/** * 插入文件表数据 * @param tb ... -
用RowMapper封装查询结果自定义类(转)
2012-03-15 14:00 1582package object; import java. ... -
struts2标签详解与实例
2012-02-23 16:30 844见附件 -
java数据类型验证工具类
2012-02-23 16:29 4783package net.hlj.common.util; ... -
解决struts2get请求乱码问题
2012-02-13 11:02 10131、建立CharFilter.java package cn ... -
struts2中struts.xml非默认路径的配置
2012-01-31 14:33 10351) my-struts.xml置于WEB-INF/cla ... -
泛域名解析
2012-01-30 11:15 1173web.xml配置 <!-- webSite d ... -
(转)log4j详解与实战
2011-07-26 08:57 864log4j是一个非常强大的log记录软件,下面我们就来看看在项 ... -
模拟spring功能
2011-06-22 17:14 10101、建立User.java,内容如下: package ne ... -
struts2.1.1实例-helloworld
2011-06-15 17:15 1899Struts2 1.1 Struts ... -
spring配置文件获取方式
2010-12-24 11:33 11051、在src下(class): Applicatio ... -
配置Spring+hibernate使用ehcache作为second-level cache
2010-12-02 16:39 1010大量数据流动是web应用性能问题常见的原因,而缓存被广泛的 ...
相关推荐
谷歌浏览器跨域插件,解决开发人员本地开发涉及跨域问题 谷歌浏览器跨域插件,解决开发人员本地开发涉及跨域问题 谷歌浏览器跨域插件,解决开发人员本地开发涉及跨域问题
2.安装跨域模块(一下代码修改都是在settings.dev下进行的) pip install django-cors-headers -i https://pypi.douban.com/simple 添加应用 INSTALLED_APPS = ( ... 'corsheaders', ... ) 中间件设置...
很简单的PHP防止跨域提交表单,为了安全,这些还是要做的。
前端开发语言:Vue( 安卓,IOS,Web为一套前端代码),服务器端开发语言: PHP+WebSocket,数据库:MySql + Mongodb,前端打包工具:Hbuilder 服务器搭建工具...后台登录用户名:admin 密码:123456 TP伪静态,防跨域关掉
cors-proxy 基于Java Jersey的CORS代理绕过javascript跨域请求限制关于由于浏览器实施的CORS限制,来自浏览器的Javascript无法访问来自其他域的资源。 该Web代理将绕过这些限制。环境Java 1.7以上Tomcat 7以上用法在...
为保障跨域访问过程中的信息网络安全,在深入分析其所面临安全风险的基础上,提出了一种跨域访问控制与边界防御模型,该模型将跨域访问过程划分为域内和跨域两个阶段,同时结合相关安全技术进行策略决策和策略实施,...
主要讲解在跨域获取资源中,程序开发者在开发过程中可能导致疏忽而引起的跨域安全问题导致的隐藏攻击面,主要介绍Flash,CORS等跨域获取资源中一些攻击方法和修复及防御 目录 主流跨域方式 跨域方式的安全性 FLASH跨域...
基于二级链结构的跨域数据融合溯源框架设计 自动化 安全分析 安全对抗 威胁情报 网络安全
前段时间喜欢用python去抓一些页面玩,但都基本上都是用get请求一些页面,再通过正则去过滤。 ...发现也比较简单。... ... 网站分析 爬虫的必备第一步,分析目标网站...其中csrf是为了预防跨域脚本伪造。原理很简单,就是每一次
但是我们在日常实际开发中,常常会遇到跨域请求的需求,因此就出现了一种跨域请求的方案:CORS(Cross-Origin Resource Sharing)跨域资源共享。 CORS背后的原理是:使用自定的HTTP头部与服务器进行沟通,从而由...
跨域欺骗防御的可部署性
这是一个对文件存储、 JDK8日期,分布式锁、分布式限流、跨域请求,国际化、防XSS攻击、关键字脱敏的增强包,拥有良好的扩展性,一切功能都是基于注解化驱动
针对大数据、人工智能与网络安全融合的新趋势,提出一种跨域协同的威胁预警模式,为网络空间安全防护赋能增效。首先,该模式从网络空间结构出发,通过划分安全威胁域、解析系统功能、设计共享机制,构建具有合纵连横...
主要介绍了spring security中的csrf防御机制原理解析(跨域请求伪造),本文通过实例代码详解的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
针对基于IRBAC2000模型的跨域访问过程中所面临的动态性和细粒度问题,提出了基于使用控制(UCON)跨域访问控制方法。在跨域访问过程中,采用推拉模式实现请求域和资源域属性的同步,将请求域主体的属性变化及时、主动地在...
web站点攻击防御,防止跨域攻击,钓鱼行为等等。仅供参考,学习
cors: Spring Boot 的跨域处理 crypto: 加解密处理 i18m: 国际化支持 mybatis: 集成 tk.mapper 与 pagehelper 同时封装了全局赋值插件 oss: 云存储(七牛/阿里/腾讯/MINIO) redis: 增强 Redis,包含分布式锁...
java用网址抓取网页内容,可用作Ajax+jsp跨域访问
前端面试题 类型的传遇1.avi 06.面试题_去掉 数组中重复性的 数据avi 11.面试题_背景 图片距离.avi 类型的传递2.avi ...14.面试题跨域. avi 10.面试题_rem 适配,avi 15.面试题 _nodejs事件轮询 机制.avi
2.优化短信验证码防刷 Pc 更新: 1.下单页面增加配送方式选择 2.pc端增加发票模块 3.pc端增加预售模块 4.pc首页顶部增加广告位 5.个人中心增加修改手机号和修改密码 二、升级注意事项: 1.升级后需要重启 swoole 2....