diff --git a/zh/04.4.md b/zh/04.4.md index bbed11e9..85c5500f 100644 --- a/zh/04.4.md +++ b/zh/04.4.md @@ -5,6 +5,7 @@ 解决方案是在表单中添加一个带有唯一值的隐藏字段。在验证表单时,先检查带有该惟一值的表单是否已经递交过了。如果是,拒绝再次递交;如果不是,则处理表单进行逻辑处理。另外,如果是采用了Ajax模式递交表单的话,当表单递交后,通过javascript来禁用表单的递交按钮。 我继续拿4.2小节的例子优化: +```html 足球 篮球 @@ -13,8 +14,9 @@ 密码: - +``` 我们在模版里面增加了一个隐藏字段`token`,这个值我们通过MD5(时间戳)来获取惟一值,然后我们把这个值存储到服务器端(session来控制,我们将在第六章讲解如何保存),以方便表单提交时比对判定。 +```Go func login(w http.ResponseWriter, r *http.Request) { fmt.Println("method:", r.Method) //获取请求的方法 @@ -41,7 +43,7 @@ template.HTMLEscape(w, []byte(r.Form.Get("username"))) //输出到客户端 } } - +``` 上面的代码输出到页面的源码如下: ![](images/4.4.token.png?raw=true)