获取网站访问者的IP地址,让他们无需登录即可访问网站
Posted
技术标签:
【中文标题】获取网站访问者的IP地址,让他们无需登录即可访问网站【英文标题】:Get website visitor's IP address and letting them access the website without logging in 【发布时间】:2013-11-29 06:38:20 【问题描述】:我需要以某种方式检测我的一些网站访问者的 IP 地址,让他们无需登录即可访问该网站。目前该网站的内容受密码保护,访问者应登录才能访问该内容.但我想知道是否有一种方法可以让我们的一些客户通过检测他们的 IP 地址而无需登录即可访问。
这可能吗?如果是,最好的解决方案是什么?
谢谢
【问题讨论】:
以下问题之一可能会让您入门:Allow IP address without authentication 或 How do I find a user's IP address with php? 【参考方案1】:首先;这不应该是一个 javascript 问题。您不能用 Javascript 编写站点安全性,因为它在客户端计算机上运行,并且您不能信任该计算机。他们可以打开开发工具并将“if (loginOk())”替换为“if (true)”
通常,这不是通过 IP 地址(很容易被欺骗)而是通过某种随机加密哈希作为 cookie 提供给它们的。我可以简短地为您总结一下,但您需要查找“oauth tokens”的概念。
-
用户使用其用户名和密码登录
在对其登录操作的响应中,服务器根据用户信息和当前日期将 cookie 'mysite_login_token' 设置为高度随机化的字符串,即
'noonewilleverguessthisstringofletters'
(嗯,不,不是那个 em> 正是 - 就像我说的,阅读更多关于该主题的专业文章。
在对敏感信息的所有后续请求中,服务器会检查“mysite_login_token”的发送值,并确保它与该用户名的存储值匹配。
如果用户注销,则服务器会删除该令牌的副本,使其无法再次使用。
【讨论】:
谢谢武士刀。我做了一些研究,OAuth 握手令牌系统(如您所建议的)是要走的路。【参考方案2】:你不能在纯 javascript 中;您可以使用 .net 或 php 使用服务器端服务并使用 XHR 获取结果
【讨论】:
【参考方案3】:如果没有显示登录名或 cookie,IP 地址可能有助于初步猜测谁可能在您的系统上。 IP 可用于获取他们的大致位置或记录匿名用户的活动。与 IP 相比,cookie 无疑是重新识别客户端机器的更好方法,因为动态 IP 会定期更改。仍然识别机器与识别特定用户不同。公共图书馆机器的 IP 或 cookie 不会识别特定用户。见:geolocation website
【讨论】:
以上是关于获取网站访问者的IP地址,让他们无需登录即可访问网站的主要内容,如果未能解决你的问题,请参考以下文章