当前位置: 首页 > wzjs >正文

东莞定制网站开发公司网页制作

东莞定制网站开发,公司网页制作,做一个类似微博的网站需要怎麼做,seo分析及优化建议1、参数类似于“XXXXX://?userIdsystem&time1696830378038&token38a8ea526537766f01ded33a6cdfa5bd” 2、在config里加一个LoginSecret参数可随意指定一个字符串 3、BS登录代码里会对“LoginSecret的参数值用户ID时间戳”进行MD5加密形成token,与传过来的…

1、参数类似于XXXXX://?userId=system&time=1696830378038&token=38a8ea526537766f01ded33a6cdfa5bd

2、在config里加一个LoginSecret参数可随意指定一个字符串

3、BS登录代码里会对“LoginSecret的参数值+用户ID+时间戳”进行MD5加密形成token,与传过来的Token进行比对,一致才通过,同时对时间戳进行校验,时间的有效性为3分钟,也就是时间戳代表的时间+3分钟后,若大于当前时间则校验通过。通过后,直接以传过来的用户名登录BS,否则弹出提示信息。

以下为示例代码:

public static class TokenUtil

{

private static readonly string LIVE_SECRET = "6132E474arKk56ed3384310265O876ql";

public static string GenerateToken(string userId, long time)
{
    string text = LIVE_SECRET + userId + time;
    return GetMd5Hash(text);
}

public static bool ValidateToken(string userId, string time, string token)
{
    if (string.IsNullOrEmpty(userId) || string.IsNullOrEmpty(time) || string.IsNullOrEmpty(token))
    {
        return false;
    }
    if (TimestampToDateTime(time).AddMinutes(3) < DateTime.Now)
    {
        return false;
    }

    string text = LIVE_SECRET + userId + time;
    string loginSecret =ConfigurationManager.AppSettings["LoginSecret"];
    if (!string.IsNullOrEmpty(loginSecret))
        text = loginSecret + userId + time;

    string validateToken = GetMd5Hash(text);

    return token.Equals(validateToken, StringComparison.OrdinalIgnoreCase);
}
private static string GetMd5Hash(string input)
{
    using (MD5 md5 = MD5.Create())
    {
        byte[] inputBytes = Encoding.UTF8.GetBytes(input);
        byte[] hashBytes = md5.ComputeHash(inputBytes);
        StringBuilder sb = new StringBuilder();

        for (int i = 0; i < hashBytes.Length; i++)
        {
            sb.Append(hashBytes[i].ToString("x2"));
        }

        return sb.ToString();
    }
}
/// <summary>
/// 本时区日期时间转时间戳
/// </summary>
/// <param name="datetime"></param>
/// <returns>long=Int64</returns>
public static long ToTimestamp(this DateTime datetime)
{
    DateTime dd = new DateTime(1970, 1, 1, 0, 0, 0, 0);
    DateTime timeUTC = DateTime.SpecifyKind(datetime, DateTimeKind.Utc);//本地时间转成UTC时间
    TimeSpan ts = (timeUTC - dd);
    return (Int64)(ts.TotalMilliseconds);//精确到毫秒
}
/// <summary>
/// 时间戳转本时区日期时间
/// </summary>
/// <param name="timeStamp"></param>
/// <returns></returns>
public static DateTime TimestampToDateTime(this string timeStamp)
{
    DateTime dd = DateTime.SpecifyKind(new DateTime(1970, 1, 1, 0, 0, 0, 0), DateTimeKind.Local);
    long longTimeStamp = long.Parse(timeStamp + "0000");
    TimeSpan ts = new TimeSpan(longTimeStamp);
    return dd.Add(ts);
}

}

调用:

public partial class Login

{

 private string strTempUser;

protected override void OnLoad( EventArgs e )

{

PageLoad("Login");

try
{
    if (Request["userId"] != null && Request["time"] != null && Request["token"] != null)
    {
        if (TokenUtil.ValidateToken(Request["userId"].ToString(), Request["time"].ToString(), Request["token"].ToString()))
        {
            strTempUser = Request["userId"].ToString();
            User u = UsersDirectory.GetUser(strTempUser);
            if (u != null)
            {
                Account account = new Account(u);
                Logined(account);
            }
            else 
            {
                throw new Exception("用户不存在");
            }
        }
        else
        {
            throw new Exception("Token校验不通过");
        }
    }
}
catch
{
}

}

}


文章转载自:

http://kq09mWcd.sfzwm.cn
http://ztH66dBr.sfzwm.cn
http://8JcDoQZC.sfzwm.cn
http://Tv3NHC1H.sfzwm.cn
http://KGpCZdqj.sfzwm.cn
http://2xvnNbe5.sfzwm.cn
http://2emH8Gt0.sfzwm.cn
http://p8rmmbit.sfzwm.cn
http://d8GrmVNw.sfzwm.cn
http://a6zGH9pb.sfzwm.cn
http://0YiyvMxU.sfzwm.cn
http://kUnJWWXe.sfzwm.cn
http://KqDI4VoN.sfzwm.cn
http://rXoBBlgd.sfzwm.cn
http://eJhMlDOP.sfzwm.cn
http://GeCbUYXj.sfzwm.cn
http://9hrQZWqn.sfzwm.cn
http://BJ96ADcG.sfzwm.cn
http://m52eex5u.sfzwm.cn
http://IQyqi0D5.sfzwm.cn
http://9O9ow7WN.sfzwm.cn
http://9h2plsjw.sfzwm.cn
http://rk5ywTsL.sfzwm.cn
http://gdcwxCHR.sfzwm.cn
http://yA4JlQOp.sfzwm.cn
http://u0WzBoVo.sfzwm.cn
http://qtfrhB6Q.sfzwm.cn
http://HVFqFErJ.sfzwm.cn
http://CSUguX3t.sfzwm.cn
http://nvbLy6Wl.sfzwm.cn
http://www.dtcms.com/wzjs/706902.html

相关文章:

  • 湖南网站建设网站建设工作成果怎么写
  • 营销型商务网站wordpress输出外部文章
  • 一站式营销推广平台企业定制网站价格表
  • 如何把网站点击连接到百度商桥wordpress关键词描述设置
  • 请专业做网站的老师网站优化设计的基础是网站基本要素及每个细节的优化
  • 织梦xml网站地图最新的国际新闻事件
  • 网站托管什么意思长沙网站开发长沙网站建设
  • 石家庄建设集团有限公司网站wordpress postgresql
  • 做网站备案哪些条件一二三四免费观看视频
  • 网站首页设计报告微网站建设教学
  • 网站建设需要的技术人员大气宽屏的网站
  • 网站上的按钮怎么做三亚网站外包
  • 用博客网站做淘宝客高端企业网站建设制作
  • 网站推广公司兴田德润官网多少自己搭建充值平台
  • 杭州网站建设朗诵面朝施工企业资质分为哪些
  • 清理网站后台缓存国外 定制网站
  • 河北世达建设集团有限公司网站实事新闻热点
  • 站长统计推荐短视频运营项目计划书
  • 厦门外贸网站seo河南安阳网站建设
  • asp网站建设实录源码ps案例教程网站
  • 把插钉机子拍下怎么做网站国内无代码开发平台
  • 如何做网站赚广安发展建设集团门户网站
  • 定西市小企业网站建设东莞专业做网站公司
  • 网站系统后台南昌seo推广外包
  • 微信网站如何制作软件网站建设要用什么软件
  • 公司要建立网站要怎么做焦作建设网站的公司
  • 天津优化网站滨江网站建设制作
  • 宁波网站设计公司有几家广州白云区哪里封了
  • 如何购买一个网站的域名国外做做网站
  • 云主机 怎么做网站博物馆建设网站的作用