【问题标题】:Using cookie in asp.net在 asp.net 中使用 cookie
【发布时间】:2012-01-12 04:27:02
【问题描述】:

我有一个喜欢/不喜欢按钮,我将它们放在更新面板中,以便能够在不刷新页面的情况下更新计数器,用户可以多次单击喜欢/不喜欢按钮并且计数器会发生变化的问题

一旦我认为我可以使用 cookie 但我之前没有使用过它,我想允许用户单击按钮,所以如果有人可以帮助我这样做,我将不胜感激

如果还有其他更好的解决方案,请告诉我

提前致谢

【问题讨论】:

    标签: asp.net ajax cookies button


    【解决方案1】:

    如果您想使用cookies,可以查看this page(旧版本)或this page(较新版本)。

    您尚未描述您正在创建的网站类型,但如果您有用户注册/登录机制,您可以只保存特定用户的信息单击数据库中的 like 按钮。

    如果无法登录,您可以按照 Adam 的建议尝试通过 IP 地址来识别您的用户。您可以通过以下方式做到这一点:

    String remoteAddress = HttpContext.Current.Request.UserHostAddress;
    

    String remoteAddress = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
    

    无论哪种方式,我认为最好将 cookie 与另一种方法结合使用,因为您可以先检查 cookie。如果它存在于用户的计算机上,您就知道她/他已经投票了。如果 cookie 不存在,您可以查询数据库以获取有关用户的保存信息(通过 IP 或登录机制识别)。这样您就可以减少对数据库的查询,这应该有利于您的应用程序的性能:)。

    【讨论】:

      【解决方案2】:

      您可以通过 IP 地址进行跟踪,而不是使用 cookie。

      我知道 IP 地址会随着时间而改变,因此您可以将其与 cookie 一起使用,但也可以清除 cookie,因此任何内容都不会 100%。

      当用户点击喜欢或不喜欢时,将他们的 IP 地址与点赞记录一起存储。

      如果他们已经这样做了,请放置代码以停止另一个喜欢或不喜欢计数。

      然后在您的更新中删除喜欢或不喜欢按钮并只显示计数。

      这是我用于我的应用程序的内容。我还有一个 Facebook 应用程序,我在其中使用他们的 Facebook 用户 ID,这更难伪造。

      无论哪种方式,我认为 IP 地址是检测和阻止某人重复操作的最佳方法。

      【讨论】:

        猜你喜欢
        • 2013-10-08
        • 2012-02-27
        • 2019-02-10
        • 1970-01-01
        • 1970-01-01
        • 2010-09-15
        • 2014-10-18
        • 1970-01-01
        • 2023-03-21
        相关资源
        最近更新 更多