我正在开发具有登录表单的iPhone应用程序,以访问与网站相同的应用程序功能。现在我想在iphone应用程序中添加一个按钮,将用户重定向到safari浏览器中的网站并成功登录。
成功登录iPhone应用程序后,用户想要在浏览器中查看网站,所以我只需要添加用户可以直接在他的帐户中登录并在特定页面上重定向的功能。
我有一些基本的想法,我们可以使用加密的用户名和密码与网址。 像http://xyz.com/login/username=abc&password=abc 但我知道用url传递用户名和密码是不安全的。
如果可能的话,请以其他方式建议我。
如何实现这一点的任何想法或替代方案。
提前致谢。
答案 0 :(得分:0)
有几种方法可以做到这一点。 无论何时通过Internet发送密码信息,您都希望通过SSL加密密码信息。这将需要您的Web服务器的SSL证书,但并非总是可行。
您也可以自己加密用户名和密码,只有您的网络服务器才知道如何解密。因此用户名“foo”可以变成“oof”,密码“bar”可以变成“rab”。这样,如果有人截获您的请求,他们无法知道您的用户名和密码是什么,而不知道您是如何更改的。
答案 1 :(得分:0)
为什么不传递会话ID?
这就是我的意思:当您登录网站时,通常会为您分配(或已经拥有)“会话cookie”,它实质上告诉服务器“此访问者具有会话ID'XYZ'”,并允许它检索为该用户存储的服务器端信息(例如他们是谁,他们进行了身份验证,或者您在会话存储中存储的任何其他信息。
移入/移出应用程序的一种更简单的方法是确保所有登录都生成服务器端会话,并提供一个脚本,该脚本将覆盖用户的会话cookie并将其重定向到正确的页面。
session_restore.php的sessionId = 12345&安培;重定向= HOME
这里的怀疑者会争辩说,提供这样一个脚本是安全漏洞,但我认为所有这些信息都已经存储在客户端,并且可以在没有服务器干预的情况下完成。 (针对热门网站的会话劫持插件存在,用于从无线网络获取会话ID - 无需技术技能)
这样做只会让用户对这个过程更友好,如果你的网站提供SSH访问权限(你真的应该这样做),那么风险很小。