<%Option Explicit%> 
<%
Sub InitializeFID() 
    If Not IsObject(Session("FIDList")) Then 
        Set Session("FIDList")=Server.CreateObject("Scripting.Dictionary") 
        Session("FID")=0 
    End If 
End Sub
Function GenerateFID() 
    InitializeFID 
    Session("FID") = Session("FID") + 1 
    GenerateFID = Session("FID")
End Function
Sub RegisterFID() 
    Dim strFID 
    InitializeFID 
    strFID = Request("FID") 
    Session("FIDlist").Add strFID, now() 
End Sub
Function CheckFID() 
    Dim strFID 
    InitializeFID 
    strFID = Request("FID")
    CheckFID = not Session("FIDlist").Exists(strFID) 
End Function 
%>
<% Sub GenerateForm() %> 
<form action="<%=Request.ServerVariables("PATH_INFO")%>" method=GET> 
<input type=hidden name=FID value="<%=GenerateFID()%>"> 
<input type=text name="param1" value=""> 
<input type=submit value="确定"> 
</form> 
<% End Sub %>  
<% 
Sub ProcessForm() 
    If CheckFID() Then 
        Response.Write "您输入的内容是" & Request.QueryString("param1") 
		Response.Write "<input type=submit value='返回' onclick='self.history.go(-1)'> "
        RegisterFID 
    Else 
        Response.Write "噢,您已经提交过一次了!" 
    End If 
End Sub
%> 
<HTML>
<HEAD> 
<TITLE>如何限制重复订阅邮件或投票</TITLE> 
</HEAD>
<BODY> 
<% 
If Request("FID") = "" Then 
    GenerateForm() 
Else 
    ProcessForm 
End If 
%> 
</BODY> 
</HTML>