Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.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
Php 通过Cookie检测多个帐户_Php_Security_Detect_Account - Fatal编程技术网

Php 通过Cookie检测多个帐户

Php 通过Cookie检测多个帐户,php,security,detect,account,Php,Security,Detect,Account,我想在浏览器游戏中检测多个帐户:如果用户有多个帐户,我想知道这一点 出于各种原因,我不想再通过比较IP来检测多个帐户。用户可以共享IP,并且IP易于更改。所以这不是一个好方法 相反,我想检测使用cookie的帐户。你认为这是个好办法吗 <?php $uniqueHash = md5($_SERVER['REMOTE_ADDR'].mt_rand(1, 100000)); // identify a single user if (isset($_COOKIE['uniqueHash']))

我想在浏览器游戏中检测多个帐户:如果用户有多个帐户,我想知道这一点

出于各种原因,我不想再通过比较IP来检测多个帐户。用户可以共享IP,并且IP易于更改。所以这不是一个好方法

相反,我想检测使用cookie的帐户。你认为这是个好办法吗

<?php
$uniqueHash = md5($_SERVER['REMOTE_ADDR'].mt_rand(1, 100000)); // identify a single user
if (isset($_COOKIE['uniqueHash'])) {
    // UPDATE dbTable SET uniqueHash = '".$_COOKIE['uniqueHash']."' WHERE id = x
}
else {
    setcookie('uniqueHash', $uniqueHash, time()+3600*24*30, '/', '.domain.com', FALSE, TRUE)
}
?>
之后,我可以从数据库表中选择具有相同uniqueHash值的所有用户

这是可以改进的吗?还是一个完全糟糕的解决方案

<?php
$uniqueHash = md5($_SERVER['REMOTE_ADDR'].mt_rand(1, 100000)); // identify a single user
if (isset($_COOKIE['uniqueHash'])) {
    // UPDATE dbTable SET uniqueHash = '".$_COOKIE['uniqueHash']."' WHERE id = x
}
else {
    setcookie('uniqueHash', $uniqueHash, time()+3600*24*30, '/', '.domain.com', FALSE, TRUE)
}
?>
闪光饼干怎么样?他们更好,对吗?但当我的网站上没有flash时,我不能使用它们,对吗


提前谢谢

如果您创建包含登录日期、ip、哈希和用户ID的日志,您可能会了解用户是否是多帐户。自动检测它几乎是不可能的,如果我去拜访我的一个朋友,我可能会登录他的电脑检查我的帐户


因此,记录所有数据,然后进行multihunter人工检查,看它是否是同一玩家。

如果您创建包含登录日期、ip、哈希和用户ID的日志,您可能会了解用户是否是多帐户。自动检测它几乎是不可能的,如果我去拜访我的一个朋友,我可能会登录他的电脑检查我的帐户


因此,记录所有数据,然后让multihunter人员查看是否是同一玩家。

将值存储到Cookie中比比较ip的imho更糟糕。Cookie很容易更改/删除,而更改ip则困难得多

我认为你最好的办法是有一些基本的人工智能解决方案来标记可疑账户。因此,在同一时间使用同一IP多次登录可能是IP共享,或者同时使用多个浏览器,这是AI应该注意的。 另外,请在短时间内查看使用不同帐户从同一ip进行的注销和登录。尝试查找主机名并使用它,因为ISP的DHCP有时会给客户端一个新的ip,但主机名保持不变

关键是,没有一种解决方案是基于一条信息的


顺便说一句,我想到的另一个解决方案是让用户通过发送短信确认他们的帐户,让他们支付非常少的金额,如1美元,在这种情况下,注册许多帐户是没有吸引力的。

将值存储到cookie中甚至比比较ip的imho更糟糕。Cookie很容易更改/删除,而更改ip则困难得多

我认为你最好的办法是有一些基本的人工智能解决方案来标记可疑账户。因此,在同一时间使用同一IP多次登录可能是IP共享,或者同时使用多个浏览器,这是AI应该注意的。 另外,请在短时间内查看使用不同帐户从同一ip进行的注销和登录。尝试查找主机名并使用它,因为ISP的DHCP有时会给客户端一个新的ip,但主机名保持不变

关键是,没有一种解决方案是基于一条信息的


顺便说一句,我想到的另一个解决方案是让用户通过发送短信确认他们的帐户,让他们支付非常少的金额,如1美元,在这种情况下,注册许多帐户是没有吸引力的。

还有什么让你认为cookie比IP地址更难更改?嗯。。。你说得对,他们并不难改变。但如果cookie检测到一个用户,我可以确定他有多个帐户。如果我通过IP检测到它,我不能完全确定。是什么让你认为cookies比IP地址更难更改?嗯。。。你说得对,他们并不难改变。但如果cookie检测到一个用户,我可以确定他有多个帐户。如果我通过IP检测到它,我不能完全确定。这可能是更简单的解决方案。我曾经和一对同事玩过一个名为Travian的网络游戏,其中一个人写了一个快速工具,当他登录到其他帐户时可以交换cookies。我们假设他被抓到的唯一方法是一个人将他的登录时间与他的IP地址进行比较。是的,并创建一个基于Lucene/SOLR的应用程序,以便能够轻松快速地搜索日志信息。非常感谢,您说服我让人检查多个帐户的日志。这可能是更简单的解决方案。我曾经和一对同事玩过一个名为Travian的网络游戏,其中一个人写了一个快速工具,当他登录到其他帐户时可以交换cookies。我们假设他被抓到的唯一方法是一个人将他的登录时间与他的IP地址进行比较。是的,并创建一个基于Lucene/SOLR的应用程序,以便能够轻松快速地搜索日志信息。非常感谢,你说服了我让人检查多个帐户的日志。谢谢,这就是我现在要做的:谢谢,这就是我现在要做的: