【问题标题】:how to find client info in asp.net如何在asp.net中查找客户信息
【发布时间】:2009-10-21 05:07:31
【问题描述】:

我有一个网页,人们来那里投票。 但我希望每个人都只投一票! 请帮助我编写 c# 代码。

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    您可以采取几种不同的方法。

    一种方法是记录每个人的 IP 地址。问题是很多人都在路由器后面。如果您阻止用户通过 IP 地址投票,那么您可能会阻止尚未投票的人。

    第二种方法是要求用户登录。这是防止用户多次投票的最可靠方法。也是参与度最高的。使用 ASP.NET 成员资格提供程序可以减少很多工作。

    第三种方法是在用户的计算机上设置一个cookie。他们可以轻松删除 cookie,但大多数用户不知道他们在那里,也并不真正关心。

    【讨论】:

      【解决方案2】:

      这是一个棘手的问题,我很确定您必须以某种方式进行权衡。

      1. 检查 IP,如 how to find client info in asp.net 和 HTTP_FORWARDED 问题是任何 IP 都容易被欺骗,两个人可以使用同一台计算机和/或拥有动态 IP:s

      2. 发送一封确认邮件

      3. 用户必须在您的系统中注册

      4. 需要一个 OpenId

      我会选择 4 号

      【讨论】:

        【解决方案3】:

        使用此语句获取 IP。

        HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
        

        当人们投票时,将 IP 存储在数据库中并检查他们第二次来的时间

        您可以在客户端cookie中存储一些信息并第二次检查

        【讨论】:

          【解决方案4】:

          如果您想要简单可靠的解决方案,只需使用Cookie mechanism

          首先你必须尝试读取 Cookie:http://msdn.microsoft.com/en-us/library/aa287533%28VS.71%29.aspx

          HttpCookie myCookie = new HttpCookie("MyTestCookie");
          myCookie = Request.Cookies["MyTestCookie"];
          
          if (myCookie != null)
            //User has already voted.
          else
            //User can vote.
          

          如果 cookie 不存在,您允许投票,投票后您只需在响应中写入 cookie:http://msdn.microsoft.com/en-us/library/aa287547%28VS.71%29.aspx

          HttpCookie myCookie = new HttpCookie("MyTestCookie");
          Response.Cookies.Add(myCookie);
          

          【讨论】:

            【解决方案5】:

            从远程机器获取 MAC 地址,并跟踪它。

            want to get mac address of remote PC

            但是,这在 C# 中会更复杂,因为我有理由确定您不能使用 .NET 来做到这一点,因为您需要使用 ManagementObjects,这可能不起作用。

            但是,如果您从 asp.net 执行此操作,则可以通过将 Java 嵌入到 asp.net 页面中并在必要时调用它来执行 Java 操作。

            【讨论】:

            • LIX 需要一个 C# 解决方案而不是 Java 小程序。
            猜你喜欢
            • 1970-01-01
            • 2017-08-01
            • 1970-01-01
            • 2015-04-03
            • 1970-01-01
            • 2011-04-06
            • 2013-07-15
            • 2015-01-17
            • 1970-01-01
            相关资源
            最近更新 更多