update some words in 4.*md and 5.1md

This commit is contained in:
chenwenli
2012-11-04 22:17:35 +08:00
parent 01e125a47e
commit 0221b7515d
6 changed files with 55 additions and 48 deletions

10
4.2.md
View File

@@ -1,11 +1,11 @@
# 4.2验证表单的输入
我们开发Web的一个原则就是不能信任用户输入的任何信息所以验证和过滤用户的输入信息就变得相当重要我们经常会在微博、新闻中听到某某网站被入侵了存在什么漏洞这些大多是是因为对于用户输入的信息没有做严格的验证引起的所以为了编写出安全可靠的Web程序验证表单输入变得相当的重要
我们开发Web的一个原则就是不能信任用户输入的任何信息所以验证和过滤用户的输入信息就变得非常重要,我们经常会在微博、新闻中听到某某网站被入侵了,存在什么漏洞,这些大多是是因为网站对于用户输入的信息没有做严格的验证引起的所以为了编写出安全可靠的Web程序验证表单输入的意义重大
我们平常编写Web应用主要有两方面的数据验证一个是在页面端的js验证(目前很多这方面的验证库),一个是在服务器端的验证,我们这小节讲解的是如何在服务器端验证。
我们平常编写Web应用主要有两方面的数据验证一个是在页面端的js验证(目前这方面有很多的插件库比如ValidationJS插件),一个是在服务器端的验证,我们这小节讲解的是如何在服务器端验证。
## 必填字段
你想要确保从一个表单元素中得到一个值例如前面小节里面的用户名我们如何处理呢Go有一个内置函数`len`可以获取字符串的长度这样我们就可以通过len来测试获取数据的长度,例如:
你想要确保从一个表单元素中得到一个值例如前面小节里面的用户名我们如何处理呢Go有一个内置函数`len`可以获取字符串的长度这样我们就可以通过len来获取数据的长度例如
if len(r.Form["username"][0])==0{
//为空的处理
@@ -133,14 +133,14 @@
## 日期和时间
你想确定用户填写的日期或时间是否有效。例如
你想确保用户在日程表中安排8月份的第45天开会或者提供还没到的时间作为生日。
用户在日程表中安排8月份的第45天开会或者提供未来的某个时间作为生日。
Go里面提供了一个time的处理包我们可以把用户的输入年月日转化成相应的时间然后进行逻辑判断
t := time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC)
fmt.Printf("Go launched at %s\n", t.Local())
获取时间之后我们就可以进行很多时间函数的操作。具体的判断就根据自己的需求调整。
获取time之后我们就可以进行很多时间函数的操作。具体的判断就根据自己的需求调整。
## 身份证号码
如果我们想验证表单输入的是否是身份证通过正则也可以方便的验证但是身份证有15位和18位我们两个都需要验证