• 配置http的响应头信息:属性名XFrameOptions。


    原文链接:https://blog.csdn.net/xp_lx1/article/details/80676630

    可以配置的参数有两个:

    X-Frame-Options 响应头有三个可选的值:
    DENY:页面不能被嵌入到任何iframe或frame中;
    SAMEORIGIN:页面只能被本站页面嵌入到iframe或者frame中;
    ALLOW-FROM:页面允许frame或frame加载。

    在服务端设置的方式如下:

    Java代码:
    response.addHeader("x-frame-options","SAMEORIGIN");
    Nginx配置:
    add_header X-Frame-Options SAMEORIGIN
    Apache配置:
    Header always append X-Frame-Options SAMEORIGIN

    一般选第二个参数就可以了。

    【步骤】

    1.在src目录下建一个包,命名为filter。在包里建类名为FrameTao。内容如下:

    package filter;
     
    import java.io.IOException;
    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;
     
    public class FrameTao implements Filter {
     
     
        public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
        //必须
            HttpServletRequest request = (HttpServletRequest) req;  
            HttpServletResponse response = (HttpServletResponse) res;  
            //实际设置
        response.setHeader("x-frame-options", "SAMEORIGIN");  
        //调用下一个过滤器(这是过滤器工作原理,不用动)
        chain.doFilter(request, response);
        }  
     
        public void init(FilterConfig config) throws ServletException {
        }
        
        public void destroy() {
        }
        
    }

    2.在web.xml文件下添加以下内容:

    <!-- 设置Frame头,防止被嵌套 -->
    <filter>  
        <filter-name>FrameFilter</filter-name>  
        <filter-class>filter.FrameTao</filter-class>  
    </filter>  
    <filter-mapping>  
        <filter-name>FrameFilter</filter-name>  
        <url-pattern>/*</url-pattern>
    </filter-mapping>  

    3.启动服务器。

    打开火狐浏览器,打开你的此项目任一网页。

    右键查看元素:

    怎么样,是不是成功啦?

    这样浏览器就明白,你的网页不允许被陌生人嵌套、操作了!

  • 相关阅读:
    电话号码分身
    利用Geoerver+Mysql+openlayers实现gis空间数据线段、多边形的存储、编辑、平移等功能
    vue+openlayers图形交互,实现多边形绘制、编辑和保存
    JetBrains AppCode:用于 iOS/macOS 开发的智能 IDE
    GIS基础知识
    class java.time.LocalDateTime cannot be cast to class java.util.Date
    geoserver配置SQL图层 cql_filter模糊查询
    gis论坛
    Geoserver的WFS服务
    Linux 环境下修改 MySQL 时区
  • 原文地址:https://www.cnblogs.com/kelelipeng/p/15722993.html
Copyright © 2020-2023  润新知