對於每一個表單,現在可以增加兩個hidden元素:
拿用戶登錄做個例子:
<form action="login" method="post">
<input type="hidden" name="p1" value="1234564"/><br/>
<input type="hidden" name="p2" value="a2bd345684a21456ae7a4fa6af"/><br/>
username:<input type="text" name="username"/><br/>
password:<input type="password" name="password"><br/>
<input type="submit" value="Login"/>
</form>
其中p1是根據系統時間的毫秒數:
p2是自己寫的一個函數對p1加密後的字符串。
而且後臺還規定p1距離當前時間超過60s則認爲表單已經過期。
這樣,如果我改了p1的值, 因爲不知道產生p2的具體算法,後臺就會知道p1和p2不匹配,對於這樣的表單就不用處理了。