我想做像play.clubpenguin.com这样的事情。
它的作用是,当您访问该网站时,可能使用Firefox或IE,如果您打开新标签或使用其他浏览器,当您再次访问该网站时,它将显示如下内容:“请关闭其他打开此页面的浏览器“或类似的东西。
怎么做? (其客户的要求)
更多信息:该网站是Flash网站
编辑:
好吧,我认为这是一个棘手的问题,一般来说,这可以用php,mysql和JS完成吗?
答案 0 :(得分:7)
每次向用户提供Flash页面时,都会生成随机令牌。将此令牌嵌入页面中的某个位置,例如作为flashVar。此外,将最近生成的令牌存储在用户的会话中。
每当Flash将某些内容发回服务器时,也会发布令牌。如果令牌与会话中存储的令牌不匹配,请拒绝该帖子。
这样,只有最近生成的页面版本才能与服务器通信,如果用户打开多个版本的页面,则只能使用最新版本。
即使用户在其他计算机上打开额外的浏览器,此技术仍应有效。它不使用IP地址来建立身份。并且用户不可能永久地“锁定”,因为每次他们再次打开页面时,您都会重置存储的令牌。
这与某些框架将验证令牌插入表单以防止Cross-site Request Forgery攻击的方式类似。
答案 1 :(得分:2)
尝试使用以下代码:
window.onload = function(){
if (document.cookie.indexOf("_instance=true") === -1) {
document.cookie = "_instance=true";
// Set the onunload function
window.onunload = function(){
document.cookie ="_instance=true;expires=Thu, 01-Jan-1970 00:00:01 GMT";
};
// Load the application
}
else {
// Notify the user
}
};
代码将限制用户一次打开一个浏览器选项卡,在浏览器刷新(当前选项卡)期间,代码不会显示任何警报。在新标签页中复制粘贴相同的网址将不允许用户打开。有关详细信息,请尝试this
答案 2 :(得分:0)
有些选择让人想起......
window.onunload
事件,并在此时清除状态 - 但您不能100%保证这将是发生。选项3是最好的恕我直言。
答案 3 :(得分:0)
如果要禁止使用2个不同的登录进行访问,则可以强制执行锁定给定资源的规则。
客户端IP可以是此可锁定资源之一:只有一个会话允许一个给定的IP地址。这将减少对拥有多个公共IP地址的人的欺骗行为。通过代理共享公共IP的人会遇到问题。
我没有看到您可以轻松使用的其他可锁定资源。
答案 4 :(得分:-1)
解决方案:
回答客户要求的NO,因为您是网站设计大师,知道客户访问者的最佳选择。该网站不必吸引客户,而是客户的访客。当他们在自己的计算机上受到如此严重的限制时,他们就会感到很满意。