javascript - 使用Jquery获取用户IP

标签 javascript php jquery

好的,所以我正在使用 jquery 脚本使用 get 方法从另一个文件中提取信息,如下所示:

$(document).ready(function() {
$('#calculate').click(function(){
    $.ajax({
        type: 'GET',
        url: '/system/calculate.php',
        data: 'amount=' + $('#buyamount').val() + '&coin=<?php echo $coin; ?>' ,
        success: function(msg) {
            $('#totalprice').html(msg);
        }
    });
});
});

我想在数据库中惰性化他们的 IP 地址,但我无法在该计算文件中设置它,因为他们实际上并没有访问该页面来设置 IP 地址。现在,我不想使用 get 函数来发送他们的 IP 地址,因为他们可以简单地将 ?ip= 编辑为他们想要的任何内容。

我尝试在计算文件中设置它,但他们的IP设置为::1

tl;dr:使用jquery从另一个文件运行脚本,无法设置IP,因为他们不会亲自访问该页面。

最佳答案

你可以在 php 中获取客户端 IP,并且该 IP 可以插入到你的数据库中。

function getIp() {

        $ip = '';



        if (isset($_SERVER['REMOTE_ADDR']) && !empty($_SERVER['REMOTE_ADDR'])) {

            $ip = filter_var($_SERVER['REMOTE_ADDR'], FILTER_VALIDATE_IP);
        }



        if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && !empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {

            if (strpos(filter_var($_SERVER['HTTP_X_FORWARDED_FOR'], FILTER_VALIDATE_IP), ',') !== false) {

                $temp_ips = explode(',', filter_var($_SERVER['HTTP_X_FORWARDED_FOR'], FILTER_VALIDATE_IP));
            }



            if (!empty($temp_ips)) {

                $ip = $temp_ips[count($temp_ips) - 1];
            } else {

                $ip = filter_var($_SERVER['HTTP_X_FORWARDED_FOR'], FILTER_VALIDATE_IP);
            }
        }



        if (isset($_SERVER['HTTP_CF_CONNECTING_IP']) && !empty($_SERVER['HTTP_CF_CONNECTING_IP'])) {

            $ip = filter_var($_SERVER['HTTP_CF_CONNECTING_IP'], FILTER_VALIDATE_IP);
        }



        return $ip;
    }

关于javascript - 使用Jquery获取用户IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27426177/

相关文章:

javascript - 如何在 ReactJS 中添加图标

php - 每次用户连接数据库时,我都需要创建一个连接,这是真的吗?

javascript - forEach 中的 Ember.js removeObject 不删除所有对象

javascript - 如何在浏览器崩溃时清除本地存储?

php - 如何检查一张表的id到另一张表?

javascript - 选项卡未在 Accordion jQuery 中呈现

javascript - 无法从选定的 jquery 中追加和更新选项

javascript - 用于替换变量的 jQuery 全局正则表达式

javascript - 在 Javascript 中连接一个空数组

PHP 正则表达式替换为原始值