• Nginx作为静态资源web服务-跨站访问


    一、跨域访问

    1、什么是跨域?

    参看我的另一篇博客(https://www.cnblogs.com/chrdai/p/11280895.html

    2、为什么浏览器禁止跨域访问?

    不安全,容易出现CSRF攻击。

    a、什么是CSRF攻击呢?

    CSRF(Cross-site request forgery)攻击就是跨站式攻击。原理如下:

    当用户去访问正规网站(网站A)时,不小心点到了恶意网站B,网站B通过http Response向该用户发送一些带有恶意的请求,让用户在去请求网站A,这样就形成了跨站访问,出于安全考虑,浏览器对这种跨站请求默认是阻止的。

    3、Nginx如何打开跨站访问?

    配置语法

    Syntax:add_header name value [always]
    Default:-
    Context:http,server,locatin,if in location;

    这里的 value 就是待跨站的网站地址,如果为 “ * ” ,就意味着允许所有的网站都可以跨站访问本站点,出于安全考虑,建议只填写需要用到的站点。

    示例:

    location ~ .*.(htm|html)$ {
        add_header Access-Control-Allow-Origin 192.168.0.133:81;
        add_header Access-Control-Allow-Mehtods GET,POST;
        root /opt/app/code1;
    }

     下面是一段儿测试 ajax 跨站访问的示例代码:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Test ajax CORS</title>
        <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
    </head>
    <body>
        <p>Test ajax CORS</p>
    
        <script>
            $(function(){
                $.ajax({
                    url: '192.168.0.133:81',
                    method: 'POST',
                    dataType: 'json',
                    success: function(data){
                        alert('success!');
                    },
                    error: function(data){
                        alert('fail!');
                    },
                });
            });
        </script>
    </body>

    本文为袋鼠学习中的总结,如有转载请注明出处:https://www.cnblogs.com/chrdai/protected/p/11336123.html

  • 相关阅读:
    燃料
    Widgets学习
    莫比乌斯反演与杜教筛
    jade在命令行实时编译
    jade文档声明和头尾标签
    团队成员之间的对抗与互助的鼓励
    jade简介
    node入口文件分析和目录初始化
    搭建一个项目的前期准备
    判断团队适不适合使用node
  • 原文地址:https://www.cnblogs.com/chrdai/p/11336123.html
Copyright © 2020-2023  润新知