如何个性化用户IP地址的链接

时间:2014-01-29 05:34:34

标签: html security ip-address

我想知道能够做到以下工作有多大的工作:

我希望网站上的某些网页只能由特定计算机访问。当然,我总是可以提供用户名和密码,但我希望它进一步受到限制。

举例说明:

  • 我授予用户A访问页面A的权限。
  • 我向User-A提供用户名和密码以访问page-A。
  • 用户A尝试与朋友(用户-B)共享用户名和密码。
  • 用户B尝试使用用户A的凭据访问网页A,但确实如此 不起作用,因为用户B需要在用户A的计算机上才能这样做。

我知道这可以实现,因为金融机构采用这种安全措施,但我可以自己实施吗?如果是这样,怎么样?

- 编辑 -

Yani提到过IP过滤并不明智,因为用户IP地址经常会发生变化。我现在的问题转向使用会话或localstorage / webstorage来控制对某些网页的访问。

您需要提取哪些本地数据?我想可能需要一个数据库来存储计算机数据,供系统将来参考。

2 个答案:

答案 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来执行此操作。试试这个,看看它是否适用于你想要做的事情。

.htaccess: how to restrict access to a single file by IP?