微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP – 加密其他站点的用户名和密码

我正在编写一个允许用户注册PHP站点,注册和未注册用户都可以为学校站点输入各自的用户名和密码(例如smith8h4ft – j9hsbnuio).

然后,我的PHP脚本发送一些$_POST变量,下载并解析标记页面,生成一个名为的数组:
marksDB = Array(“subject”=>数组(“A”,“B”,“A”,“C”),…),并将其重新格式化.

我的问题是:
我该如何保证用户名和密码安全?

对于未注册用户,我目前忘记了用户名和密码,并将marksDB放入$_SESSION.当用户不活动时,例如30分钟后,marksDB被删除.这些数据在$_SESSION中有多安全?用户如何登录,查看页面一次,再也不会再查看,那么脚本不会从会话中删除marksDB?会话是否自动删除(gc.maxlifetime)?

注册用户呢?我希望一切都安全,但我不想每30分钟不活动时用密码提示来惹恼用户.加密如here所述的凭证是否安全,但没有第三个用户设置的密码?或者我每次都要问用户他的密码?

编辑:

感谢您的快速回复,
@Justinᚅᚔᚈᚄᚒᚔ:我怀疑他们有一些API,但我可以问他们,只是为了案例
@Abid Hussain:感谢非常有用的链接. (也谢谢你的答案).
我将抛弃用户的凭据,并且只解析了markDB,我也可能会丢弃它(在注销或不活动之后) – 在需要时再次检索标记很便宜.

如果学校网站没有公开API(例如,using OAuth like the StackExchange sites do),那么您的选项是有限的.

一般来说,保持用户的明文凭证的时间超过绝对必要的时间永远不是一个好主意.对于您可以想象的任何可能的方式存在安全隐患(会话劫持,被盗密钥,解密等).

更好的方法可能是使标记下载过程严格由用户启动.给他们一个“检索我的标记”的按钮,然后在那里完成身份验证过程,下载标记并丢弃他们的凭据.每次他们“同步”时,他们都必须进行身份验证.除非标记经常定期更改,否则您无法立即下载所需的所有信息,然后将其安全地缓存在服务器上以供日后使用.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐