>  기사  >  백엔드 개발  >  javascript - 怎么在客户端验证判断发布的多条信息是不是来自同一个ip

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

WBOY
WBOY원래의
2016-06-06 20:51:291016검색

在可以匿名发布多条信息的时候,怎么判断发布的信息是不是来自同一个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으로 문의하세요.