欧美成人午夜免费全部完,亚洲午夜福利精品久久,а√最新版在线天堂,另类亚洲综合区图片小说区,亚洲欧美日韩精品色xxx

扣丁學堂區(qū)塊鏈培訓Go基礎Web應用開發(fā)輸入驗證

2018-08-23 09:35:43 1398瀏覽

隨著區(qū)塊鏈引發(fā)的“顛覆風暴”,大量區(qū)塊鏈培訓機構應運而生。但在魚龍混雜的培訓圈內(nèi),要想找到真正符合標準的課程體系與專屬區(qū)塊鏈領域的專業(yè)授課講師簡直是滄海一粟,千鋒扣丁學堂在線區(qū)塊鏈培訓做出行動改變并顛覆傳統(tǒng)培訓機構運營思維,并提醒大眾用戶,應理性選擇區(qū)塊鏈培訓機構。



Web開發(fā)中最重要的原則之一是您不能信任客戶端用戶表單中的任何內(nèi)容。

您必須在使用之前驗證所有傳入數(shù)據(jù)。

許多網(wǎng)站都受到這個問題的影響,這個問題既簡單又至關重要。

有兩種方法可以驗證常用的表單數(shù)據(jù)。

第一個是前端的JavaScript驗證,第二個是后端的服務器驗證。

本次只分享Web開發(fā)中的服務器端驗證。

必填字段

有時我們要求用戶輸入一些字段,但他們無法完成該字段??梢允褂胠en函數(shù)來獲取字段的長度,以確保用戶輸入了某些內(nèi)容。在ArticleSave方法中加入如下代碼

iflen(r.Form["author"][0])==0{

fmt.Println("authorisempty")

http.Redirect(w,r,"/view/"+title,http.StatusFound)

}

當提交的時候我們不給author賦值,然后點擊Submit提交,會看到輸出如下內(nèi)容

author:[]

authorisempty

r.Form在空白時對待不同的表單元素類型。

對于空文本框,文本區(qū)域和文件上傳,它返回一個空字符串;

對于單選按鈕和復選框,它甚至不會創(chuàng)建相應的項目。

相反,如果您嘗試訪問它,您將收到錯誤。

因此,使用r.Form.Get()獲取字段值更安全,因為如果該值不存在,它將始終返回空。

另一方面,r.Form.Get()一次只能獲得一個字段值,因此您需要使用r.Form來獲取值的映射。我們修改下剛才那段代碼如下

iflen(r.Form.Get("author"))==0{

fmt.Println("authorisempty")

http.Redirect(w,r,"/view/"+title,http.StatusFound)

}

當提交的時候我們不給author賦值,然后點擊Submit提交,會看到輸出如下內(nèi)容

author:[]

authorisempty

得到的結(jié)果跟上段代碼是一致的

數(shù)字

有時我們需要提交過來的數(shù)據(jù)是數(shù)字而不是字段值等其他文本。

例如,假設我們只需要整數(shù)形式的用戶年齡,即50或10,而不是“足夠老”或“年輕人”。

如果我們需要一個正數(shù),我們可以先將值轉(zhuǎn)換為int類型,然后再處理它。下面我們在ArticleSave方法中加入如下代碼

getint,err:=strconv.Atoi(r.Form.Get("author"))

iferr!=nil{

fmt.Println(err)

http.Redirect(w,r,"/view/"+title,http.StatusFound)

}

fmt.Println("getint:",getint)

當提交的時候我們給author賦值durban,然后點擊Submit提交,會看到輸出如下內(nèi)容

author:[durban]

strconv.Atoi:parsing"durban":invalidsyntax

當提交的時候我們給author賦值10,然后點擊Submit提交,會看到輸出如下內(nèi)容

author:[10]

getint:10

另一種方法是使用正則表達式。

代碼如下,我們將上面的代碼段更換如下

ifm,_:=regexp.MatchString("^[0-9]+$",r.Form.Get("author"));!m{

fmt.Println("非整數(shù)")

http.Redirect(w,r,"/view/"+title,http.StatusFound)

return

}

fmt.Println("getauthor:",r.Form.Get("author"))

當提交的時候我們給author賦值10,然后點擊Submit提交,會看到輸出如下內(nèi)容

author:[10]

getauthor:10

出于高性能目的,正則表達式效率不高,但簡單的正則表達式通常足夠快。

如果您熟悉正則表達式,那么這是驗證數(shù)據(jù)的一種非常方便的方法。

請注意,Go使用[RE2],因此支持所有UTF-8字符。RE2是一種快速,安全,線程友好的替代方法,用于回溯正則表達式引擎,如PCRE,Perl和Python中使用的那些。


【關注微信公眾號獲取更多學習資料】

 

 

查看更多關于“區(qū)塊鏈培訓技術資訊”的相關文章>>

標簽: 區(qū)塊鏈培訓 區(qū)塊鏈技術 區(qū)塊鏈開發(fā) 區(qū)塊鏈視頻教程 比特幣 以太坊

熱門專區(qū)

暫無熱門資訊

課程推薦

微信
微博
15311698296

全國免費咨詢熱線

郵箱:codingke@1000phone.com

官方群:148715490

北京千鋒互聯(lián)科技有限公司版權所有   北京市海淀區(qū)寶盛北里西區(qū)28號中關村智誠科創(chuàng)大廈4層
京ICP備2021002079號-2   Copyright ? 2017 - 2022
返回頂部 返回頂部