我想知道能够做到以下工作有多大的工作:
我希望网站上的某些网页只能由特定计算机访问。当然,我总是可以提供用户名和密码,但我希望它进一步受到限制。
举例说明:
我知道这可以实现,因为金融机构采用这种安全措施,但我可以自己实施吗?如果是这样,怎么样?
- 编辑 -
Yani提到过IP过滤并不明智,因为用户IP地址经常会发生变化。我现在的问题转向使用会话或localstorage / webstorage来控制对某些网页的访问。
您需要提取哪些本地数据?我想可能需要一个数据库来存储计算机数据,供系统将来参考。
答案 0 :(得分:2)
对于大多数家庭用户来说,IP地址只有临时。 ISP将每隔几周/几个月更换一次,除非用户拥有静态IP(通常成本更高)。
此外,用户可以将他的笔记本电脑带到咖啡店,并立即从不同的IP登录。
因此,只有当您想对地理位置阻止用户(国家,州等)进行地理位置阻止时,IP地址过滤才是一个好主意,但是,根据我的诚实意见,长期认证用户不是一个好主意。时间。
您可能只需要使用Javascript或服务器端技术(如PHP)实现cookie / session / localstorage,这将是浏览器和安装程序。计算机专用。
Cookie + IP地址
结合使用cookies / localStorage技术ALONG WITH IP地址实际上可能是第二级安全性的好主意(即当IP发生变化时,有一个警告,例如'看起来你从不同的IP地址登录,请回答安全问题......')。
此外 - 当用户从其他浏览器但同一台计算机(以及相同的IP)登录时,您可以获得额外的验证问题。
您甚至可以实施IP地址历史记录,例如gmail。
但是,如果你只需要选择其中一种方法 - 我肯定会选择cookies / localStorage。
如何在Javascript中设置和获取本地数据的示例。
使用localStorage(HTML5):
localStorage.setItem('userAuthenticated', '1');
localStorage.getItem('userAuthenticated');
使用cookies:
function setCookie(cname,cvalue,exdays)
{
var d = new Date();
d.setTime(d.getTime()+(exdays*24*60*60*1000));
var expires = "expires="+d.toGMTString();
document.cookie = cname + "=" + cvalue + "; " + expires;
}
function getCookie(cname)
{
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++)
{
var c = ca[i].trim();
if (c.indexOf(name)==0) return c.substring(name.length,c.length);
}
return "";
}
希望这有帮助!
答案 1 :(得分:0)
您可能需要使用.htaccess来执行此操作。试试这个,看看它是否适用于你想要做的事情。