Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 每个IP点击一个按钮_C#_Asp.net Mvc_Ip - Fatal编程技术网

C# 每个IP点击一个按钮

C# 每个IP点击一个按钮,c#,asp.net-mvc,ip,C#,Asp.net Mvc,Ip,在我的asp.net mvc应用程序中,我只需要允许一次单击,或者更确切地说,每个IP只允许由按钮单击触发一次计算。例如:每个用户只能投票一次。有没有可能用C#来做这件事?请问哪里是正确的起点?如果我需要重新表述问题,请告诉我。谢谢 有很多方法可以做到这一点,我已经用我的应用程序做到了 第一个IP地址是一个很好的方法,尽管不是100%的人可以共享一个IP地址,而且人们可以重新启动连接并获得一个新的IP地址。因此,在数据库中存储投票者IP地址是一个良好的开端 其次,你可以使用cookies。这也不

在我的asp.net mvc应用程序中,我只需要允许一次单击,或者更确切地说,每个IP只允许由按钮单击触发一次计算。例如:每个用户只能投票一次。有没有可能用C#来做这件事?请问哪里是正确的起点?如果我需要重新表述问题,请告诉我。谢谢

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

第一个IP地址是一个很好的方法,尽管不是100%的人可以共享一个IP地址,而且人们可以重新启动连接并获得一个新的IP地址。因此,在数据库中存储投票者IP地址是一个良好的开端

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

第三,如果你有一个Facebook应用,这是你可以得到最好的安全性。您只需检查Facebook用户ID。如果你让你的选民也使用Facebook登录,即使你的应用程序不是页面标签上的自定义Facebook应用程序,你也可以这样做

因此,为了进行编码,您需要一个数据库来存储这些值,并在查看时进行检查。然而,在高流量的站点中,它的数据库容量非常大,因此一些缓存也是一个良好的开端(如果您使用共享网格/webfarm主机,请确保您的缓存未处于进程中)

是的,完全同意

我建议在这种情况下使用MAC地址

有关此操作的帮助,请尝试以下链接:


你知道可能不止一个用户共享一个IP吗?@Joel Coehoorn,没错。在这种情况下,你有什么建议?注册反对用户的投票,并进一步禁用投票,这样他就不会再对同一个问题投票了。(除此之外,这里的大多数事情都会投票n次:)@V4Vendetta,你的意思是每个选民都必须登记?如果我想让未注册的用户投票呢?我想那是不可能的?你真的想提供匿名投票吗?那么我不确定投票是否有好处,SO团队也在处理这样的事情,他们的第一个剪辑是介绍这篇文章有用吗?是/否,但仍在考虑如何关联这些数据,也许来自SO团队的人可以强调,他们会遇到各种各样的障碍,通过web应用程序获得客户机的MAC地址是可能的吗?这并非不可能。