Heim  >  Fragen und Antworten  >  Hauptteil

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

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

高洛峰高洛峰2748 Tage vor631

Antworte allen(3)Ich werde antworten

  • 黄舟

    黄舟2017-04-10 12:45:21

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

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

    Antwort
    0
  • PHPz

    PHPz2017-04-10 12:45:21

    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...

    Antwort
    0
  • PHP中文网

    PHP中文网2017-04-10 12:45:21

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

    只能说,没有完美方法。

    常用方法:

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

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

    Antwort
    0
  • StornierenAntwort