如果未连接到确定的网络,则阻止访问
Blocking acess if are not connected to a determined network
我想阻止未连接到指定网络的用户提交表单。我应该怎么做? Javascript 解决方案正是我要找的。
示例:
如果没有连接到我的家庭网络,您将无法访问 foo 页面
如果不使用某种 API,前端 Javascript 无法获取用户的 IP 地址。
这里有两个选项供您选择:
- 使用API获取IP地址。ipinfo.io是我以前用过的,但如果你需要付费您会收到大量请求。这个特定的调用只是不时地用于演示它。下面是一些检查用户是否在我的家庭网络上的代码。
<script type="application/javascript">
function getNetworkIP(json) {
if (json.ip === '108.173.5.106'){
console.log('The IP address passes the test');
}
else{
console.log('The IP address fails the test');
}
}
</script>
<script type="application/javascript" src="http://ipinfo.io/?format=jsonp&callback=getNetworkIP"></script>
- 您可以在服务器端为表单的提交添加某种验证,检查 IP 地址是否与所需网络匹配,如果请求不匹配则拒绝它来自适当的网络。您将如何着手执行此操作取决于您的服务器端实现。
前端 Javascript 可以通过多种方式破坏(包括将其关闭),因此出于安全原因我会使用服务器端。我已经绕过了很多前端验证。
我想阻止未连接到指定网络的用户提交表单。我应该怎么做? Javascript 解决方案正是我要找的。
示例:
如果没有连接到我的家庭网络,您将无法访问 foo 页面
如果不使用某种 API,前端 Javascript 无法获取用户的 IP 地址。
这里有两个选项供您选择:
- 使用API获取IP地址。ipinfo.io是我以前用过的,但如果你需要付费您会收到大量请求。这个特定的调用只是不时地用于演示它。下面是一些检查用户是否在我的家庭网络上的代码。
<script type="application/javascript">
function getNetworkIP(json) {
if (json.ip === '108.173.5.106'){
console.log('The IP address passes the test');
}
else{
console.log('The IP address fails the test');
}
}
</script>
<script type="application/javascript" src="http://ipinfo.io/?format=jsonp&callback=getNetworkIP"></script>
- 您可以在服务器端为表单的提交添加某种验证,检查 IP 地址是否与所需网络匹配,如果请求不匹配则拒绝它来自适当的网络。您将如何着手执行此操作取决于您的服务器端实现。
前端 Javascript 可以通过多种方式破坏(包括将其关闭),因此出于安全原因我会使用服务器端。我已经绕过了很多前端验证。