我想创建一个只能从特定网络连接访问的应用程序。更清楚的是,这将是一个出勤申请。用户只能从特定的网络连接登记。如果他们与其他网络连接,他们无法办理登机手续。 我怎么能在Ruby on Rails中做到这一点。请给我一些想法。其实我需要知道如何检测特定的网络连接?
提前致谢。
答案 0 :(得分:1)
在before_filter :block_foreign_hosts
def whitelisted?(ip)
return true if [123.43.65.1, 123.43.65.77].include?(ip)
false
end
def block_foreign_hosts
return false if whitelisted?(request.remote_ip)
redirect_to "https://www.google.com" unless request.remote_ip.start_with?("123.456.789")
end
添加此内容:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="css/jquery.mobile-1.4.5.css">
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/jquery-2.1.3.js"></script>
<script type="text/javascript" src="js/jquery.mobile-1.4.5.js"></script>
<title>LocoQR</title>
</head>
<body>
<div data-role="page">
<div data-role="header">
<h1>LocoQR</h1>
<a href="#" data-rel="back" class="ui-btn ui-icon-arrow-l ui-btn-icon-notext ui-corner-all"></a>
</div><!-- /header -->
<div role="main" class="ui-content">
<form>
<fieldset data-role="controlgroup">
<legend>Select videos to remove:</legend>
<input type="checkbox" name="checkbox-v-2a" id="checkbox-v-2a">
<label for="checkbox-v-2a">One</label>
<input type="checkbox" name="checkbox-v-2b" id="checkbox-v-2b">
<label for="checkbox-v-2b">Two</label>
<input type="checkbox" name="checkbox-v-2c" id="checkbox-v-2c">
<label for="checkbox-v-2c">Three</label>
</fieldset>
</form>
</div><!-- /content -->
</div><!-- /page -->
</body>
</html>
原因是您必须将我在此示例中使用的IP网络替换为您想要访问的IP网络。