Javascript使用加密参数转到url

时间:2013-12-11 14:41:34

标签: javascript post redirect

我创建的google chrome extension有效,看起来好像是我网站的扩展。

当您第一次打开我的扩展程序时,您必须登录。输入用户名和密码时,会向我的服务器发送ajax请求。如果用户名和密码的结果为真,我encrypt密码并将其存储在扩展中

现在这里变得棘手:

如果用户访问我的网站,它应该自动登录他/她。 我想我会在我的扩展程序中检查一下,如果该网站是我的,它将重定向到郊区并发送加密的密码/用户名,然后我的网站将自动登录用户

加密密码的示例如下所示:ZNVwb7ukhJfhBmdbo4SkPMjG6U8a0GKQB+/mPhQtRVw=

因为/我想将其作为帖子请求发送。

你们知道我会怎样做到这一点吗?

2 个答案:

答案 0 :(得分:3)

如果没有评论您正在使用的加密,听起来您只想避免GET请求,因为该网址包含/个字符?

您可以通过GET发送,只需URL encode值。

  

只能使用ASCII字符集通过Internet发送URL。

     

由于URL通常包含ASCII集之外的字符,因此必须将URL转换为有效的ASCII格式。

     

URL编码用“%”后跟两个十六进制数字替换不安全的ASCII字符。   网址不能包含空格。 URL编码通常用加号(+)或%20替换空格。

因此,如果要将正斜杠发送为解释为查询字符串参数而不是路径分隔符,则应将其编码为%2F。最好为此使用一个标准库并传递整个字符串,而不是滚动自己只编码斜杠。

答案 1 :(得分:0)

我建议您使用令牌而不是尝试存储加密的密码并可能屈服于未来的安全问题。所以过程将是:

  • 用户运行您的扩展程序
  • 扩展程序将用户的登录信息发送到远程服务器(通过HTTPS)并获取令牌
  • 该令牌用于所有进一步的请求

要执行此操作,您需要远程服务器上的会话表,该会话表可以解释每个请求中的令牌以查找发出请求的用户。最佳实践将指示最终令牌应该在不活动时变得陈旧,需要用户再次登录。这个时间通常在1-24小时的范围内。