'X-Frame-Options' to 'SAMEORIGIN

2020-03-28  本文已影响0人  韩小禹
需求:网站A中需要通过iframe加载网站B的页面。

解决方法1:代码中设置Access-Control-Allow-Origin。
    PHP:    
    header('Access-Control-Allow-Origin: *');                   //允许所有
    header('Access-Control-Allow-Origin: https://test.com');    //允许指定域名

解决方法2:web服务器中配置
    2.1:如果web服务器是Apache
        <Directory "/var/www/html">
            AllowOverride None
            Require all granted
            Header set Access-Control-Allow-Origin *
        </Directory>

    2.2:如果web服务器是Nginx
        add_header Access-Control-Allow-Origin *;
        add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
        add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,access-control-allow-origin,Authorization';


 解决方法3:如果是django网站
    3.1:安装django-cors-headers
    3.2:然后参考https://www.cnblogs.com/randomlee/p/9752705.html中的配置
X-Frame-Options 有三个可能的值:

X-Frame-Options: deny
X-Frame-Options: sameorigin
X-Frame-Options: allow-from https://example.com/

换一句话说,如果设置为 deny,不光在别人的网站 frame 嵌入时会无法加载,在同域名页面中同样会无法加载。另一方面,如果设置为sameorigin,那么页面就可以在同域名页面的 frame 中嵌套。

deny

表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。

sameorigin

表示该页面可以在相同域名页面的 frame 中展示。

allow-from uri

表示该页面可以在指定来源的 frame 中展示。
上一篇下一篇

猜你喜欢

热点阅读