• 关于知道其他平台的用户名和密码,嵌入自己的系统直接连接过去


    1、先要分析对方系统是如何登录的,有的是通过表单提交用户名和密码,就直接进入到主页了,有的是通过接口登录,登录成功以后再重定向到主页;还有其他,这个直接连接到对方系统实现的复杂度跟目标系统有关。

    2、如果是表单方式提交,直接得到action地址和用户名密码name,直接写入<a>,<iframe>标签,进行尝试,有可能就直接链接过去了(只是可能),注意新版本谷歌的SameSite问题;

    3、如果是先通过接口登录,然后再重定向到主页,这个时候,在你自己的系统中进行模拟登录,然后重定向,可能成功,也可能失败,这个也是跟对方系统有关的,是否跨域问题。

    如果有跨域限制(跨域是浏览器的安全考虑,其实请求是成功了的,但是因为跨域,浏览器不会把这部分数据拿出来用而已),这个在前端好像不能解决,解决跨域主要是refer头,但是直接在ajax设置refer头,浏览器不认同你的修改;

    这个时候就考虑进行后端处理,搭建一个nginx服务,你所有的页面、接口请求都指向nginx,然后nginx进行分流,如果是你自己的系统路径,就往你自己的应用上分发,如果是目标系统的路径就往目标系统进行分发,这个时候,你的请求就不会出现跨域了,因为你所有的请求都是指向nginx;

    4、如果带有一些验证码之类的,暂时没考虑到;

    给一个demo的关键代码:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    <script type="text/javascript" src="./jquery.min.js"></script>
    </head>
    <body>
    
    <a href="javascript:void(0)" onclick="clickbtn()">跳转到xxl-job管理中心</a>
    
    </body>
    <script type="text/javascript">
    function clickbtn(){
        $.ajax({
            type: "post",
            url: "http://localhost/xxl-job-admin/login",
            dataType: "json",
            data: {
                userName: "admin",
                password: "xxxxxxxx"
            },
            success: function (data) {
                 window.location.href="http://localhost/xxl-job-admin/";
            },error:function(error){
                 console.log(error);
            }
        });
    }
    </script>
    </html>

    nginx.conf的配置片段

    		location / {
    			proxy_pass http://localhost:8080/; #自己系统地址
    		}
    		
    		location /xxl-job-admin/ {
    			proxy_pass http://10.xx.xx.xxx:8001/xxl-job-admin/; #目标系统地址
    		}

    nginx起搬运工的作用,它不会进行跨域验证。

  • 相关阅读:
    mysql命令集锦
    linux 删除文件名带括号的文件
    linux下的cron定时任务
    struts2文件下载的实现
    贴一贴自己写的文件监控代码python
    Service Unavailable on IIS6 Win2003 x64
    'style.cssText' is null or not an object
    "the current fsmo could not be contacted" when change rid role
    远程激活程序
    新浪图片病毒
  • 原文地址:https://www.cnblogs.com/TheoryDance/p/12518341.html
Copyright © 2020-2023  润新知