mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2025-03-01 03:24:14 +08:00
feat: API timestamp verification (#7927)
* feat: API timestamp verification * feat: API timestamp verification
This commit is contained in:
parent
10203d5c0c
commit
a97deb3dca
@ -71,18 +71,25 @@ func SessionAuth() gin.HandlerFunc {
|
||||
func isValid1PanelTimestamp(panelTimestamp string) bool {
|
||||
apiKeyValidityTime := global.CONF.System.ApiKeyValidityTime
|
||||
apiTime, err := strconv.Atoi(apiKeyValidityTime)
|
||||
if err != nil {
|
||||
if err != nil || apiTime < 0 {
|
||||
global.LOG.Errorf("apiTime %d, err: %v", apiTime, err)
|
||||
return false
|
||||
}
|
||||
if apiTime == 0 {
|
||||
return true
|
||||
}
|
||||
panelTime, err := strconv.ParseInt(panelTimestamp, 10, 64)
|
||||
if err != nil {
|
||||
global.LOG.Errorf("panelTimestamp %s, panelTime %d, apiTime %d, err: %v", panelTimestamp, apiTime, panelTime, err)
|
||||
return false
|
||||
}
|
||||
nowTime := time.Now().Unix()
|
||||
if panelTime > nowTime {
|
||||
tolerance := int64(60)
|
||||
if panelTime > nowTime+tolerance {
|
||||
global.LOG.Errorf("Valid Panel Timestamp, apiTime %d, panelTime %d, nowTime %d, err: %v", apiTime, panelTime, nowTime, err)
|
||||
return false
|
||||
}
|
||||
return apiTime == 0 || nowTime-panelTime <= int64(apiTime*60)
|
||||
return nowTime-panelTime <= int64(apiTime)*60+tolerance
|
||||
}
|
||||
|
||||
func isValid1PanelToken(panelToken string, panelTimestamp string) bool {
|
||||
|
Loading…
x
Reference in New Issue
Block a user