Android 禁止使用移动设备?
我正在制作一些主要由用户驱动的应用程序,当然这意味着他们将成为麻烦制造者,他们可能会使用脏话将虚假数据输入其中,或者更糟糕的是将有效数据更改为不良数据(即更改为脏话) 当然,我们会采取措施来遏制这种情况,但最终我希望有一天我可以选择禁止某人加入我的申请 我的第一个想法是通过电子邮件地址禁止他们的帐户。我还想,也许除此之外,还要禁止他们的设备 我的问题是,如果他们使用,我可以从他们的手机中使用什么唯一idAndroid 禁止使用移动设备?,android,iphone,mobile,blackberry,windows-phone,Android,Iphone,Mobile,Blackberry,Windows Phone,我正在制作一些主要由用户驱动的应用程序,当然这意味着他们将成为麻烦制造者,他们可能会使用脏话将虚假数据输入其中,或者更糟糕的是将有效数据更改为不良数据(即更改为脏话) 当然,我们会采取措施来遏制这种情况,但最终我希望有一天我可以选择禁止某人加入我的申请 我的第一个想法是通过电子邮件地址禁止他们的帐户。我还想,也许除此之外,还要禁止他们的设备 我的问题是,如果他们使用,我可以从他们的手机中使用什么唯一id Andriod Iphone Blackberry Windows Phone 7/8 它
Andriod
Iphone
Blackberry
Windows Phone 7/8
它有多独特?它能轻易改变吗 所有这些设备都有具有唯一MAC地址的网络接口,根据定义,MAC地址是恒定的-MAC地址会被烧录到硬件中,并且不容易被欺骗,尤其是在移动设备上。我将散列MAC地址并将其用作密钥。一旦苹果公司禁止使用UDID,iOS操作系统上的做法相当普遍。对于Windows Phone,您应该可以使用。特别是
DeviceUniqueId
属性
但是要注意,正如他们在那篇文章中所说,如果你使用设备id来禁止用户,那么同一设备的任何未来用户都将被禁止进入你的应用程序,即使他们没有做错任何事情。有两个标识符可以一起用来识别特定的设备和用户 DeviceUniqueId和WindowsLiveAnonymousId 第一个是设备,如前所述,任何在被禁止用户之后使用设备的人也将被禁止 WindowsLiveAnonymousId对于用户是唯一的。我在3个不同的设备上看到了相同的标识符,对于用户LiveId来说总是相同的 我使用以下两种方法获取这些ID,以识别游戏玩家的领导板:
//Note: to get a result requires ID_CAP_IDENTITY_DEVICE
// to be added to the capabilities of the WMAppManifest
// this will then warn users in marketplace
public static byte[] GetDeviceUniqueId()
{
byte[] result = null;
object uniqueId;
if (DeviceExtendedProperties.TryGetValue("DeviceUniqueId", out uniqueId))
result = (byte[])uniqueId;
return result;
}
// NOTE: to get a result requires ID_CAP_IDENTITY_USER
// to be added to the capabilities of the WMAppManifest
// this will then warn users in marketplace
public static string GetWindowsLiveAnonymousId()
{
string result = String.Empty;
object anid;
if (UserExtendedProperties.TryGetValue("ANID", out anid))
{
if (anid != null && anid.ToString().Length >= (AnidLength + AnidOffset))
{
result = anid.ToString().Substring(AnidOffset, AnidLength);
}
}
return result;
}
它们的用途如下:
string deviceUniqueId = String.Empty;
for (int i = 0; i < GetDeviceUniqueId().GetLength(0); i++)
{
deviceUniqueId += GetDeviceUniqueId().GetValue(i);
}
DeviceUniqueIDTextBlock.Text = deviceUniqueId;
WindowsLiveAnonymousIDTextBlock.Text = GetWindowsLiveAnonymousId().ToString(CultureInfo.InvariantCulture);
string deviceUniqueId=string.Empty;
for(int i=0;i
去年5月我发了一篇关于获取WP7系统信息的帖子。此代码可在此处找到:
希望这有帮助。我会使用guid方法。尽管这可以通过卸载和重新安装应用程序来避免。但没有什么是完美的 如何在Windows Phone上创建GUID
如何在Blackberry上创建GUID“唯一”是一个不可修饰的形容词。不可能限定绝对值。我读了一些关于UDID的文章,但他们没有禁止它们吗。散列只是为了保证它的安全,我想这有点像密码?我以为你会修改mac地址,但我想就像你说的那样,在手机上比在pc上更难做到。你把它散列成“匿名”数据,诸如此类。特别是有一些文章说苹果有一个巨大的数据库,里面有每个人的MAC地址,等等。关于更改,如果你正在编写一个非常安全的应用程序,比如银行应用程序,我会说做一些其他的事情(可能还与用户帐户有关)。对于一个普通的应用程序,我认为这足以作为一个唯一的标识符。