Skip to content

Commit 03ccac5

Browse files
author
jojoliang
committed
add params check
1 parent 4f9f3e5 commit 03ccac5

File tree

2 files changed

+16
-3
lines changed

2 files changed

+16
-3
lines changed

auth.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ func genFormatHeaders(headers http.Header) (formatHeaders string, signedHeaderLi
242242
hs := valuesSignMap{}
243243
for key, values := range headers {
244244
if isSignHeader(strings.ToLower(key)) {
245-
for _, value := range values {
245+
for _, value := range values {
246246
hs.Add(key, value)
247247
signedHeaderList = append(signedHeaderList, strings.ToLower(safeURLEncode(key)))
248248
}
@@ -308,6 +308,13 @@ func (t *AuthorizationTransport) RoundTrip(req *http.Request) (*http.Response, e
308308
req = cloneRequest(req) // per RoundTrip contract
309309

310310
ak, sk, token := t.GetCredential()
311+
if strings.HasPrefix(ak, " ") || strings.HasSuffix(ak, " ") {
312+
return nil, fmt.Errorf("SecretID is invalid")
313+
}
314+
if strings.HasPrefix(sk, " ") || strings.HasSuffix(sk, " ") {
315+
return nil, fmt.Errorf("SecretKey is invalid")
316+
}
317+
311318
// 增加 Authorization header
312319
authTime := NewAuthTime(defaultAuthExpire)
313320
AddAuthorizationHeader(ak, sk, token, req, authTime)

cos.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,12 +54,18 @@ type BaseURL struct {
5454
// bucketName: bucket名称, bucket的命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式
5555
// Region: 区域代码: ap-beijing-1,ap-beijing,ap-shanghai,ap-guangzhou...
5656
// secure: 是否使用 https
57-
func NewBucketURL(bucketName, region string, secure bool) *url.URL {
57+
func NewBucketURL(bucketName, region string, secure bool) (*url.URL, error) {
5858
schema := "https"
5959
if !secure {
6060
schema = "http"
6161
}
6262

63+
if region == "" {
64+
return nil, fmt.Errorf("region[%v] is invalid", region)
65+
}
66+
if bucketName == "" || !strings.ContainsAny(bucketName, "-") {
67+
return nil, fmt.Errorf("bucketName[%v] is invalid", bucketName)
68+
}
6369
w := bytes.NewBuffer(nil)
6470
bucketURLTemplate.Execute(w, struct {
6571
Schema string
@@ -70,7 +76,7 @@ func NewBucketURL(bucketName, region string, secure bool) *url.URL {
7076
})
7177

7278
u, _ := url.Parse(w.String())
73-
return u
79+
return u, nil
7480
}
7581

7682
type RetryOptions struct {

0 commit comments

Comments
 (0)