繁体   English   中英

从外部站点发送脚本时的用户登录会话

[英]User login session when script sent from external site

我正在研究一种书签解决方案,其功能与Instapaper类似(书签功能不是网站功能)。

对于我的第一个Booklet版本,我将用户发送到mysite.com/add.php?url=[url],然后只要用户是我,它就会在后端执行我想做的事情(向数据库添加url等)。从此登录到我的网站(会话使用cookie保持活动状态)。 然后,用户必须按下“后退”按钮才能返回到原始站点。 这按预期工作。

现在,当我在后台执行后端操作时,我想让用户保留在原始站点上(就像instapaper小书签一样),因此:
-小书签现在将javascript函数附加到原始站点
-JavaScript使用表格并将URL用作变量将URL提交到mysite.com/add.php(add.php不变)
-我将add.php的状态输出到出现在原始网站上的iframe中

到目前为止,该方法一直有效,因此将URL发送到add.php,而用户仍保留在原始站点上,并且状态显示在临时显示在原始站点上的iframe中。

但是,从脚本角度来看,即使直接访问mysite.com时,用户也似乎不再登录。 我正在使用此登录系统(http://www.evolt.org/node/60384)。

你能为我指出正确的方向吗? 让我知道您是否需要更多信息。

谢谢

cookie是否实际发送到add.php文件? 您是否检查过任何开发工具或尝试过“ var_dump($ _ COOKIE)”?

您在哪些浏览器中对其进行了测试?

从给出的内容来看,我想不到的是,这是为了安全起见,这是浏览器的工作-否则任何网站都可以包含iFrame,并通过JavaScript在您不知情的情况下像在其他网站上一样开始执行操作。

环顾四周,我确实找到了专门针对IE7的潜在解决方法 ,但是我不知道它是否与您的问题有关,因为我不知道这是否仅是您的IE问题。

由于我可以在IE中使用此功能,而不能在Firefox或Chrome中使用它,因此我得出的结论是,这是由于浏览器的安全预防措施所致,而仅使用php会话就无法使其正常工作。

因此,对于要实现的目标,我想出一个替代解决方案,由您来解决。

请评论:

1)当用户在我的网站上注册时,我会为该用户创建一个随机的唯一静态标识符(RUSI)(即,不是用户名或散列的pwd)
2)我将此RUSI附加到小书签代码(这意味着小书签只能在用户登录到我的网站时添加)
3)当用户按下书签时,我的脚本检查RUSI对应的用户名,并检查该用户名是否在我的active_user表中(由所有登录的用户组成)
4)如果用户名存在于active_user表中,则小书签会执行其应做的操作,否则我将打印“请登录”或类似信息。

如前所述,请对此解决方案发表评论,因为我很难弄清楚这是好方法还是坏方法。 明显的缺点当然是,只要发现其他用户RUSI,他/她就可以以他/她的名义执行脚本。

谢谢。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM