c# - 每个 IP 一键点击

标签 c# asp.net-mvc ip

在我的 asp.net mvc 应用程序中,我需要只允许单击一次,或者更确切地说,每个 IP 只允许单击一次按钮触发计算。例如:每个用户只能投票一次。可以用 C# 做到这一点吗?请问哪里是正确的起点?让我知道是否需要重新表述问题。谢谢!

最佳答案

有很多方法可以做到这一点,我已经用我的应用程序完成了。

第一个 IP 地址是一个好方法,虽然不是 100%,因为许多人可以共享一个 IP 地址,而且人们可以重新启动连接并获得新的 IP 地址。因此,将选民的 IP 地址存储在数据库中是一个好的开始。

其次,您可以使用 cookie。这也不是 100% 安全的方法,因为人们可以删除它们。但是,您可以将其与 IP 地址结合使用。

第三,如果您有 Facebook 应用程序,那么您可以获得最佳安全性。您只需检查 Facebook UserId。如果您让选民也使用 Facebook 登录,即使您的应用不是页面选项卡上的自定义 Facebook 应用,您也可以这样做。

因此,为了编码,您需要一个数据库来存储这些值并在查看时进行检查。然而,在高流量站点中,它本身会非常繁重,因此一些缓存也是一个好的开始(如果您在共享网格/webfarm 托管上,请确保您的缓存不在进程中)

关于c# - 每个 IP 一键点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8529613/

相关文章:

c# - 在 LINQ 中查找字符串 A 中字符串 B 的子字符串 C 的最有效方法

asp.net - 有没有办法在 ASP.NET MVC2 中使用 [AllowHtml]?

c# - 日志不会保存到日志表中

c# - 如何在紧凑的框架中翻译 DialogResult 中的按钮?

jquery - 使用 jquery $.download 处理可能非常大的表单创建/发布的最佳方法

c# - Asp.net MVC 下拉列表中的多个字段

bash - 给定 IP 地址和网络掩码,如何使用 bash 计算子网范围?

javascript - 如何在没有express的情况下在nodejs中使用网络IP而不是localhost?

javascript - 在没有服务器端语言的情况下获取 IP 地址

字符串中带有大括号的 C# String.Format