关于绕过cookie 同源策略,和同时向前台返回图片和脚本的解决方案

  • 绕过cookie的同源策略
    •   向前端写入脚本时使用domain来绕过同源策略。 比如 domain= baidu.com .次脚本生成的cookie可以在 *.baidu.com中使用
             /// <summary>
              /// 插入cookie 代码添加过期时间为一分钟
              /// </summary>
              /// <param name="code"></param>
              /// <returns></returns>
              private string GetScript(string code)
              {
                  StringBuilder cookieInfo = new StringBuilder();
                  cookieInfo.Append("var exDate = new Date();");
                  cookieInfo.Append("exDate.setTime(exDate.getTime() + 60 * 1000);");
                  cookieInfo.Append("document.cookie=\"");
                  cookieInfo.Append("ValidateCode=");
                  cookieInfo.Append(des.MD5Encrypt(code.ToLower()));
                  cookieInfo.Append(";path=/");
                  cookieInfo.Append(";domain=baidu.com");
                  cookieInfo.Append(";Expires=\" + ");
                  cookieInfo.Append("exDate.toGMTString();");
                  return cookieInfo.ToString();
              }
      //生成效果 var exDate = new Date();exDate.setTime(exDate.getTime() + 60 * 1000);document.cookie="ValidateCode=99fd2fecf15f4136f09bf0007a25c10e;path=/;domain=baidu.com;Expires=" + exDate.toGMTString();
      //前台使用eval即可生成对应cookie
       
  • 前端返回图片和脚本
    两个解决方案
    1. 把图片存储到网站一个地址,向前台同时返回地址和生成cookie脚本
    2.把图片转化成base64编码,同时以string类型向前台返回 图片base64str和生成cookie脚本

猜你喜欢

转载自www.cnblogs.com/chongyao/p/11803103.html
今日推荐