gpt4 book ai didi

javascript - 如何在 javascript 或 php 中找出运营商的名称

转载 作者:行者123 更新时间:2023-11-29 22:23:02 28 4
gpt4 key购买 nike

我需要为访问我的网页的每个移动设备创建一个唯一的 ID。我已经获得了用户的屏幕分辨率、浏览器、操作系统和位置,但我还想知道运营商的名称以使其更准确。

到目前为止我有:

<script type="text/javascript" language="Javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript" language="Javascript" src="http://api.easyjquery.com/easyjquery.js"></script>


<?PHP

$browsers = array ();
$osS = array ();
$tb_query=mysql_query("SELECT * FROM cst_unique_device_index");
while ($rw_query=mysql_fetch_array($tb_query)){
extract ($rw_query);
$variable = strtolower($variable);

if ($type == 2) $browsers[] = $variable;
}

$osS = array (
"android",
"bada",
"blackberry",
"brew",
"ios",
"lg",
"linux",
"motorola",
"nintendo",
"palm",
"playstation",
"samsung",
"series",
"sony",
"symbianos",
"unknown",
"webos",
"wince",
"windows");


$agent = strtolower($_SERVER['HTTP_USER_AGENT']);
foreach($browsers as $browser)
{
if (preg_match("#($browser)[/ ]?([0-9.]*)#", $agent, $matchBrowser))
{
$user_browser = $matchBrowser[1] ;
$user_browser_version = $matchBrowser[2] ;
break ;
}
}

foreach($osS as $os)
{
if (preg_match("#($os)[/ ]?([a-z0-9.]*)#", $agent, $matchOS))
{
$user_os = $matchOS[1];
$user_os_version = $matchBrowser[2] ;
}
}




echo $agent .'<br />' ;
echo '
<table>
<tr>
<th>Screen: </th>
<td id="user_screen"></td>
<td></td>
</tr>
<tr>
<th>Browser: </th>
<td>' . $user_browser . '</td>
<td></td>
</tr>
<tr>
<th>OS: </th>
<td>' . $user_os . '</td>
<td></td>
</tr>
<tr>
<th>State: </th>
<td id="user_state"></td>
<td></td>
</tr>
<tr>
<th>Carrier: </th>
<td></td>
<td></td>
</tr>

';
?>


<script type="text/javascript" language="Javascript">
var screenWith = screen.width
var screenHeight = screen.height

document.getElementById('user_screen').innerHTML = screenWith+"x"+screenHeight;


// 1. Your Data Here
function my_callback(json) {
alert("IP :" + json.IP + " nCOUNTRY: " + json.COUNTRY);
}

function my_callback2(json) {
// more information at http://api.easyjquery.com/test/demo-ip.php
//alert("IP :" + json.IP + " nCOUNTRY: " + json.COUNTRY + " City: " + json.cityName + " regionName: " + json.regionName);
document.getElementById('user_state').innerHTML = json.cityName;
}

// 2. Setup Callback Function
// EasyjQuery_Get_IP("my_callback"); // fastest version
EasyjQuery_Get_IP("my_callback2","full"); // full version


</script>

最佳答案

如果你能直接得到这个,那将是一个安全问题。浏览器在沙箱中运行,不应获取该数据。

您可以记录 IP 地址并查找每个运营商的范围。我认为这是一个聪明的猜测。

您可以从例如http://whois.arin.net/ui

AT&T
32.0.0.0 - 32.255.255.255
166.128.0.0 - 166.255.255.255

关于javascript - 如何在 javascript 或 php 中找出运营商的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11194309/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com