标签:Web Form Get fmt upload 表单 token GO
- 预防跨站脚本
func HTMLEscape (w io.Writer, b [] byte) // 把 b 进行转义之后写到 w
func HTMLEscapeString (s string) string // 转义 s 之后返回结果字符串
func HTMLEscaper (args ...interface {}) string // 支持多个参数一起转义,返回结果字符串
fmt.Println("username:", template.HTMLEscapeString(r.Form.Get("username"))) // 输出到服务器端
fmt.Println("password:", template.HTMLEscapeString(r.Form.Get("password")))
template.HTMLEscape(w, []byte(r.Form.Get("username"))) // 输出到客户端
- 验证表单的输入
我们平常编写 Web 应用主要有两方面的数据验证,一个是在页面端的 js 验证 (目前在这方面有很多的插件库,比如 ValidationJS 插件),一个是在服务器端的验证。
- 必填字段
确保从表单元素中得到一个值
if len(r.Form["username"][0])==0{
//值为空的处理
}
- 数字
getint,err := strconv.Atoi(r.Form.Get("age"))
if err!=nil{
// 数字转化出错了,那么可能就不是数字
}
// 接下来就可以判断这个数字的大小范围了
if getint >100 {
// 太大了
}
//正则匹配:
if m, _ := regexp.MatchString("^[0-9]+$", r.Form.Get("age")); !m {
return false
}
- 正则表达式
//手机号
if m, _ := regexp.MatchString(`^(1[3|4|5|8][0-9]\d{4,8})$`,r.Form.Get("mobile")); !m {
return false
}
//电子邮件
if m, _ := regexp.MatchString(`^([\w\.\_]{2,10})@(\w{1,})\.([a-z]{2,4})$`, r.Form.Get("email")); !m {
fmt.Println("no")
}else{
fmt.Println("yes")
}
- 下拉菜单
判断表单里的
标签:Web,Form,Get,fmt,upload,表单,token,GO 来源: https://www.cnblogs.com/Gumi-o/p/14761163.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。