C# 如何匿名投票?
我正在寻找一个想法,开发一个小的投票系统,选民可以匿名投票。没有注册,没有电子邮件…当然,每个人只能投票一次 我不想使用cookies,因为我认为可能有几个用户在一台机器上投票,或者一个用户在一台机器上使用多个浏览器投票。另外,我认为使用IP地址也不是一个好主意,因为用户可能使用代理。那么,你对此有什么想法吗 (我将ASP.NET4与C#&SQLServer2008结合使用)C# 如何匿名投票?,c#,asp.net,C#,Asp.net,我正在寻找一个想法,开发一个小的投票系统,选民可以匿名投票。没有注册,没有电子邮件…当然,每个人只能投票一次 我不想使用cookies,因为我认为可能有几个用户在一台机器上投票,或者一个用户在一台机器上使用多个浏览器投票。另外,我认为使用IP地址也不是一个好主意,因为用户可能使用代理。那么,你对此有什么想法吗 (我将ASP.NET4与C#&SQLServer2008结合使用) 谢谢。未经注册,您最好使用IP地址来识别投票。将投票存储在数据库中,如果投票人尝试投票不止一次,则拒绝更新 获取IP地址
谢谢。未经注册,您最好使用IP地址来识别投票。将投票存储在数据库中,如果投票人尝试投票不止一次,则拒绝更新 获取IP地址的方法:
public static string getIPAddress(HttpRequestBase request)
{
string szRemoteAddr = request.UserHostAddress;
string szXForwardedFor = request.ServerVariables["X_FORWARDED_FOR"];
string szIP = "";
if (szXForwardedFor == null)
{
szIP = szRemoteAddr;
}
else
{
szIP = szXForwardedFor;
if (szIP.IndexOf(",") > 0)
{
string [] arIPs = szIP.Split(',');
foreach (string item in arIPs)
{
if (!isPrivateIP(item))
{
return item;
}
}
}
}
return szIP;
}
如果没有注册,最好的办法是使用IP地址来识别投票。将投票存储在数据库中,如果投票人尝试投票不止一次,则拒绝更新 获取IP地址的方法:
public static string getIPAddress(HttpRequestBase request)
{
string szRemoteAddr = request.UserHostAddress;
string szXForwardedFor = request.ServerVariables["X_FORWARDED_FOR"];
string szIP = "";
if (szXForwardedFor == null)
{
szIP = szRemoteAddr;
}
else
{
szIP = szXForwardedFor;
if (szIP.IndexOf(",") > 0)
{
string [] arIPs = szIP.Split(',');
foreach (string item in arIPs)
{
if (!isPrivateIP(item))
{
return item;
}
}
}
}
return szIP;
}
绝对没有办法保证每个人只投票一次,而不进行登记。即使您获得了IP,您也无法阻止此人从另一个位置进行第二次投票,并且您将阻止多人使用同一连接进行投票。绝对无法保证每个人只进行一次投票,而不进行注册。即使您获得了IP,您也无法阻止此人从其他位置再次投票,并且您将阻止多人使用同一连接进行投票。在web上搜索“唯一标识网站访问者”。IP或Cookie。两者都不能保证任何东西,但这是你唯一的选择,没有注册。大多数anon轮询过去都是基于“持久性”cookie的。或具有5-20年寿命的Cookie。在web上搜索“唯一标识网站访问者”。IP或Cookie。两者都不能保证任何东西,但这是你唯一的选择,没有注册。大多数anon轮询过去都是基于“持久性”cookie的。或者是寿命长的饼干,比如5-20年。