在可以匿名发布多条信息的时候,怎么判断发布的信息是不是来自同一个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 来的强悍多了