2011-03-15 62 views
2

我的工作具有类似功能的书签解决方案的Instapaper(书签功能,是不是网站功能)发送。用户登录会话脚本时,从外部站点

对于我的第一个小书签版本,我将用户发送到mysite.com/add.php?url=[url],然后在后端做了我想做的事情(在数据库中添加了url等)因为用户自从之前登录到我的网站(会话通过Cookie保持活动状态)。用户然后不得不按下后退按钮返回到原始网站。这按预期工作。

现在我希望让用户留在原址(作为Instapaper的书签一样),而我做的背景后台的东西,因此:
- 小书签现在追加一个JavaScript函数到原始网站
- JavaScript的使用形式,并提交网址网址mysite.com/add.php作为变量(add.php不变)
- 从add.php我输出状态成的一部开拓创新的网站出现的iframe

到目前为止是这种情况,该URL发送到add.php,而用户仍然在原址,状态,印在我临时存款保险计划的iframe在原始网站上播放。

然而,从脚本点的用户将不再出现进行登录,即使他/她是在mysite.com直接访问。我正在使用此登录系统(http://www.evolt.org/node/60384)。

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

感谢

回答

0

是饼干居然被发送到add.php文件?你有没有和任何形式的开发工具或审判'的var_dump($ _ COOKIE)“检查?

什么浏览器你测试它?

把我的头从什么给顶的,我猜这是浏览器的执行作为一种安全预防措施 - 否则任何网站可能包含一个iFrame,并通过JavaScript启动不知情的情况下进行一些其他网站的行为,你

环顾四周,我发现this potential workaround是专指IE7 ,但我不知道它是否与您的问题有关,因为我不知道这是否只是针对您的IE问题。

+0

今天晚些时候我会查看cookies。我只是测试了不同的浏览器,结果表明它可以在IE8中运行,但在Chrome 10或Firefox 3.6中无法运行。 – bengt 2011-03-16 14:24:36

0

因为我得到这个工作在IE,但不是在Firefox或Chrome,我在它的由于浏览器的安全防范措施,而且我不会得到它仅使用PHP会议工作结束倾斜。

我因此想出了一个替代解决方案是什么我想要实现,我想通过你跑。

请评论:

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

如上所述,请对此解决方案发表评论,因为我很难弄清楚这是一种好还是坏的方法。显而易见的缺点是当用户发现其他用户RUSI时,只要他/她已登录,就可以代表他/她执行脚本。

谢谢。