javascript - 怎么在客户端验证判断发布的多条信息是不是来自同一个ip
程序员文章站
2023-12-24 14:39:03
...
在可以匿名发布多条信息的时候,怎么判断发布的信息是不是来自同一个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
来的强悍多了