对于我的新网站,我正在尝试设置一个带有少量javascript的html,它决定是链接到外部ip还是内部ip。
我查找了一些javascript来请求ip,这是我找到的。
$.getJSON('//api.ipify.org?format=jsonp&callback=?', function(data) {Console.log(JSON.stringify(JSON.stringify,null,2));};
它应该返回以下内容:
{
"ip": "116.12.250.1"
}这里的要点是,我不明白如何使用这个输出。
我想到的第一件事是使用条件(else.asp)编写一些javascript,但我只是不明白如何以这种方式使用这个输出。
我的计划的基本思想是让网站使用这个请求来确定客户是在wan还是lan网络上。然后决定是将href链接到外部ip;(wan.wan)还是内部ip;(lan.lan)
所以这就是我想出来的
if ("wan.wan.wan.wan" == "[the ip the website is hosted on]")
{ "[href variable]" = "lan.lan.lan.lan }
else if ("wan.wan.wan.wan" != "[the ip the website is hosted on]")
{ "[href variable]" = "wan.wan.wan.wan"}我很难解释,抱歉。我本来是荷兰人所以请原谅我。
请问我的问题是否有任何不明确的地方!
提前谢谢!
发布于 2017-09-18 20:58:12
您可以使用请求获取IP地址,然后保存它:
$.getJSON('//api.ipify.org?format=jsonp&callback=?', function(data) {
var ip = (JSON.stringify(data, null, 2)); })['ip'];
}现在您已经拥有了IP地址,您可以通过查看IP地址来确定它们是否与服务器位于同一网络上,但是您可以省略最后的.后面的数字
因为如果您将两台计算机连接到同一网络,一台可能有地址10.10.10.10,另一台可能有10.10.10.11等等。
因此,您可以检查访问者IP的前3块是否与服务器的IP相匹配,这是众所周知的:
$.getJSON('//api.ipify.org?format=jsonp&callback=?', function(data) {
var ip = (JSON.stringify(data, null, 2))['ip'];
if (ip.match(/100.100.100.d{0,3}/)) { //REPLACE 100.100.100 WITH YOUR SERVER'S IP
//user is on the same network
} else {
//user is not on the same network
}
}https://stackoverflow.com/questions/46287927
复制相似问题