V 友们好,我有这么一个需求:
目前有多个账号,需要每天登录指定的网站,抓取一些数据。
以前都是在自己的电脑上直接运行的程序,现在想要把它部署在服务器上自动运行。
我尝试 google 了一些服务器端密码存储的方案,找到的多数是服务器端就是做存储和验证的角色,没找到这种需要二次登录的情况。因为需要模拟登录,所以始终还是需要获取到登录目标网站的原始密码,不知道有没有比较安全的方案呢?
以下是我的一些疑问:
- 假设在最坏情况下(服务器和数据库权限都被拿下),如果尽可能地减少密码被破解的几率呢?
- 密码储存在数据库里面的话,数据库方面如何尽量提高安全性呢?
- 如果密码不保存明文,而是保存使用加密算法加密后的数据,那么解密算法应该如何存放呢?
我有想过这么一个方案:服务器端不保存密码,只转发模拟登录的请求,服务器端维护一个 cookies 池,只存储登录后的 cookies,定期更新 cookies,这样账户密码不需要储存在服务器端。但是觉得如果 cookies 被拿到了的话,别人就可以直接登录到目标网站,好像也不是很安全。
不知道 V 友们有没有比较好的解决方案。由于本人还只是学生没有实际项目开发经验,对安全领域不太了解。上面的问题确实是我思考过并且想要了解的,如果有问的不妥当的地方,还请大神们不要见笑。
欢迎大家推荐一些后台、运维安全方面的书籍或参考资料让我学习,谢谢大家。