ホームページ >バックエンド開発 >PHPチュートリアル >javascript - 怎么在客户端验证判断发布的多条信息是不是来自同一个ip

javascript - 怎么在客户端验证判断发布的多条信息是不是来自同一个ip

WBOY
WBOYオリジナル
2016-06-06 20:51:291059ブラウズ

在可以匿名发布多条信息的时候,怎么判断发布的信息是不是来自同一个ip地址,请说下实现的思路,javascript或php的都行?能不能在不把发布信息时ip地址作为数据的一部分上传到数据库的情况下进行验证判断?

回复内容:

在可以匿名发布多条信息的时候,怎么判断发布的信息是不是来自同一个ip地址,请说下实现的思路,javascript或php的都行?能不能在不把发布信息时ip地址作为数据的一部分上传到数据库的情况下进行验证判断?

HTTP请求中,会带上客户端IP的。
PHP代码:

第一种:

//php获取ip的算法
$iipp=$_SERVER["REMOTE_ADDR"];
echo $iipp;

第二种:

//php获取ip的算法
$user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];
$user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];
 
echo $user_IP;

更多看这个:http://www.phpweblog.net/jig68/archiv...

你的问题类似于,匿名投票如何防止反复刷票。

只能说,没有完美方法。

常用方法:

  • 注册用户。但是不符合你要求的匿名
  • IP限制。但是要考虑到很多环境下存在NAT(公司网络、学校网络、手机网络)
  • Cookie限制。与@建国的方法类似。但是很容易伪造和绕过。
  • 验证码。只能提高门槛,但是无法杜绝。

至于从客户端验证,从服务端将唯一标识符(IP地址,或用户名,或cookie的唯一字符串)hash后返回给客户端即可。

生成一个到 2038 年的永久 cookie 每次发送信息的时候把这个参数传上去

吐槽下:难道我这个方法不能实现?竟然被踩了一下,靠,匿名情况下,这个比校验ip 来的强悍多了

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。