亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

餅干集隨機

餅干集隨機

Go
收到一只叮咚 2022-09-05 15:29:25
我正在嘗試設置Cookie,有時它有效,有時它不起作用。沒有明顯的模式。func quoteGetHandler(w http.ResponseWriter, req *http.Request) {    parts := strings.Split(req.URL.Path, "/")    csrfToken := uniuri.NewLen(32)    exp, err := strconv.Atoi(os.Getenv("COOKIE_EXPIRE"))  //5    if err != nil {        http.Error(w, whereami.WhereAmI()+err.Error(), http.StatusInternalServerError)    }    expire := time.Now().Add(time.Duration(exp) * time.Minute)    cookie := http.Cookie{        Name:     os.Getenv("COOKIE_NAME"), //csrf_token        Value:    csrfToken, //string        Path:     "/",        Expires:  expire,        HttpOnly: true,        Secure:   true,        MaxAge:   0,        Domain:   os.Getenv("DOMAIN")} //<--example.com    http.SetCookie(w, &cookie)    tmp := htmlTags["quote"]    tmp.CsrfToken = csrfToken    if 2 < len(parts) && parts[2] != "" {        tmp.Param = parts[2]    }    htmlTags["quote"] = tmp    err = tmpl.ExecuteTemplate(w, siteType+"quote", htmlTags["quote"])    if err != nil {        http.Error(w, whereami.WhereAmI()+err.Error(), http.StatusInternalServerError)    }}這發生在Chrome,FF,Bravo,Safari上。協議是 https。
查看完整描述

1 回答

?
慕桂英4014372

TA貢獻1871條經驗 獲得超13個贊

如果沒有可重復的示例,“隨機”行為很難調試和推理。

有關處理程序的一些錯誤和注釋。

  1. 如果 env var 不是整數,則處理程序會發回錯誤響應,并且不會返回。請注意,在向響應(http.Error() 會寫入響應)。COOKIE_EXPIRE

  2. 如果 是整數但為負數或 ,則 cookie 過期(變量)將指向過去,并將導致 cookie 在瀏覽器中被刪除。COOKIE_EXPIRE0expire

  3. 如果 cookie 名稱無效 ( env var),則可能會以靜默方式丟棄該 cookie(根據 http 的文檔。SetCookie())。COOKIE_NAME

  4. 由于您設置為 ,請注意,Cookie 可以在瀏覽器中設置,但是當向您的服務器發出不安全 (HTTP) 請求時,它不會被包含(發送)。Securetrue

  5. 如果執行模板失敗 (),則某些響應可能已提交,因此您無法發送另一個響應(甚至不能)。您必須執行定向到緩沖區的模板,如果成功,則發送它;或者將其直接發送到響應,但如果它失敗,則以后無法進行更正(您能做的最好的方法是記錄錯誤以供以后檢查)。tmpl.ExecuteTemplate()http.Error()


查看完整回答
反對 回復 2022-09-05
  • 1 回答
  • 0 關注
  • 111 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號