1.IFRAME框架中加载的页面 禁止URL直接访问

1.在jsp页面 会使用许多的iframe,用户可以F12知道 菜单的url路径,然后可以直接URL访问,或者修改IFRAME中的src地址。

这个时候有两种方法禁止直接访问iframe的内容,首先是js加载时候禁止,

/*
    * 只允许,同一域名下IFRAME 凨来了
    */
        var url = '${pageContext.request.contextPath}/login';
    if (parent.window.location.host != window.location.host && top.window.location.href != window.location.href)
    {
    top.window.location.href = url;
    } else if (top == self) {
    top.window.location.href = url;

    },但是必须在页面加载前起作用,不然页面还是会一闪而过。

2.其次就在后台controller中 加入过滤。


package com.anyinfo.bjwq.interceptor;


import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;


import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;


import com.anyinfo.bjwq.model.Admin;


/**
 * 登录拦截器
 * @author kevin
 *
 */
public class LoginInterceptor extends HandlerInterceptorAdapter implements HandlerInterceptor{


public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {

HttpSession session = request.getSession();
Admin admin = (Admin) session.getAttribute("loginUser");
if(admin==null){
response.sendRedirect(request.getContextPath()+"/login");
return false;
}
String getRequestURI = request.getRequestURI(); 
String idnex=request.getContextPath()+"/index";
String referer=request.getHeader("Referer");
if(referer==null && !idnex.equals(getRequestURI)) {
response.sendRedirect(request.getContextPath()+"/index");
return false;
}
//AuthorityService authorityService = (AuthorityService) SpringContextUtils.getBean("authorityService");
//List<Authority> authorities = authorityService.getTotalAuthorityLists();
//走权限的判断,获取当前url的地址。并判断该url的地址是否在权限的集合体系之内,如果不在则抛出异常,跳转到异常的页面
//String url = request.getServletPath();
//System.out.println(url);

return super.preHandle(request, response, handler);
}


}


通过判断Referer是否为null,来判断是否是来之页面的菜单访问还是url直接访问。

然后在配置文件中加入mvc:interceptor

<!-- 登录拦截器 -->
<mvc:interceptor>
<mvc:mapping path="/**"/>
<mvc:exclude-mapping path="/login"/>
<mvc:exclude-mapping path="/login/drawCheckCode"/>
<mvc:exclude-mapping path="/resources/**"/>
<mvc:exclude-mapping path="/api/**"/>
<mvc:exclude-mapping path="/wechat/**"/>
<mvc:exclude-mapping path="/web/**"/>
<bean class="LoginInterceptor">
</bean>
</mvc:interceptor>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YodPHP是一个C语言编写的简单的php开发框架,同时也提供了php的源码。YodPHP同时支持单入口和多入口模式,应用灵活,形式自由。 YodPHP 1.4.1 更新日志:2015-12-01 update:文件通用选择,支持跨域,允许第三方调用;部分服务器获取当前url异常情况兼容处理;tar解压,文件名过长兼容处理(路径大于100字符处理);图片预览大图处理;生成多级缩略图;权限组开启了文件下载权限,对应开启外链功能;ace更新到1.29,支持emoji;emmt扩展加载机制优化;编辑器markdown多光标编辑,支持关联工具栏快捷功能;aero效果支持,登录界面优化;其他优化:文件名超出部分...表示;正在上传、远程下载关闭页面提醒。fix bug安全漏洞修复:文件越权读取漏洞紧急修复,iis6配置不当导致安全问题优化;插件自动更新数据同步问题优化;分享文件夹,编辑器打开页面,左侧文件夹展开目录异常问题;(没有上传权限==>不显示上传按钮);token错误:下载时、zip文件解压等; 压缩文件内图片预览不了问题;压缩文件内文本文件预览;zip提示错误问题优化;文件列表;内容含有乱码兼容处理(iconv报错优化);全文搜索,文截取导致json解析错误问题;对话框隐藏对应没有tab时的处理;打开方式界面css bug;登陆共享兼容data自定义目录;文件输出缓存etag优化;其他:分享页面双击重命名屏蔽;markdown工具栏状态自适应;用户分享列表文件大小,navbar菜单新窗口打开问题。移动端优化: 文件列表,展开操作时页面滚动问题;桌面宽度不足问题;移动端菜单展开后没有自动收缩;编辑器优化: 隐藏函数列表;功能菜单放置在右下角;电脑版切换放置在左侧弹出层;重命名文件只选文件名部分;加号菜单优化;iOS设备拍照上传自动重命名文件名;iOS对话框含有iframe时滚动条失效问题优化;桌面开始菜单优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值