好的,所以我使用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,因为他们不会亲自访问该页面。
答案 0 :(得分:0)
你可以在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;
}