热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

javascript-[已解决]网站如何存储涉及用户重要隐私的图片比较合适?

如何存储图片比如身份证,比较合适?只能用户自己和网站后台能访问到图片,其他用户则不能访问(其他用户就算有图片img的src也不能够访问到图片)。存本地空间估计不够用、存第三方可靠吗?有什么成熟的解决方案?
如何存储图片比如身份证,比较合适?

只能用户自己和网站后台能访问到图片,其他用户则不能访问(其他用户就算有图片img的src也不能够访问到图片)。

存本地空间估计不够用、存第三方可靠吗?有什么成熟的解决方案?

回复内容:

如何存储图片比如身份证,比较合适?

只能用户自己和网站后台能访问到图片,其他用户则不能访问(其他用户就算有图片img的src也不能够访问到图片)。

存本地空间估计不够用、存第三方可靠吗?有什么成熟的解决方案?

已经解决,看了upyun的接口,发现可以利用token防盗链的方式。

因为这种方式访问img需要带上_upt参数才行,

于是我们对于用户要真正能够访问图片mybucket.upaiyun.com//target.jpg前,需要做

  1. 判断当前登录的用户是否有权限访问/target.jpg

  2. 有权限访问,那么生成_upt参数(_upt参数是根据私有的token、限制在未来几分钟内才能被访问到的etime、以及文件url,这3个参数产生的)

  3. 把这个_upt追加到图片url里得到 mybucket.upaiyun.com//target.jpg?_upt=xxxxxxx

这样用户才能访问到图片,用户每次访问图片必须获得_upt参数,而_upt的获取则必须通过我们自己服务器的鉴权才行,而且_upt是有时效性的,超过我们规定的时间用户必须重新获取_upt才行。

upyun的文档

看下是否有基于ak + sk + 时间戳生成token的方案(使用生成的token在有效期内可以访问资源)。

1.保存的图片名称不要有规律可循.
比如可以 md5 当前上传图片的时间加上 n 位的随机数,生成的值用来做图片名称.
2.图片可以放到第三方cdn 上
比如七牛, ucloud ,速度和服务还是比较靠谱的.

你说的情况应该对图片文件进行对称加密,例如使用AES,而且对每个用户使用特定方式生成的密钥。因为图片应该不会经常使用,使用时在临时解密一下即可

现在文件存储的话,交给成熟的服务提供者(比如七牛什么的)来处理更方便,安全什么的他们帮你处理了,你只需要把文件托管上去,然后记录一下三方服务返回的信息(图片外链和一些其他信息)即可。关于访问权限的话,需要自己在程序逻辑层来作判断了。

推荐阅读
  • 当前物联网领域十大核心技术解析:涵盖哪些关键技术?
    经过近十年的技术革新,物联网已悄然渗透到日常生活中,对社会产生了深远影响。本文将详细解析当前物联网领域的十大核心关键技术,包括但不限于:1. 军事物联网技术,该技术通过先进的感知设备实现战场环境的实时监测与数据传输,提升作战效能和决策效率。其他关键技术还包括传感器网络、边缘计算、大数据分析等,这些技术共同推动了物联网的快速发展和广泛应用。 ... [详细]
  • 在分析Socket服务器程序接收中文数据时出现的乱码问题时,我们发现客户端使用C#编写的数据在返回时能够正常显示。本文详细探讨了该问题的成因,并提出了一种有效的解决方案。通过调整字符编码设置和优化数据传输格式,确保了中文数据在传输过程中的完整性与正确性。具体实现代码包括对Socket读取事件的处理,确保数据以正确的编码格式进行解析和显示。 ... [详细]
  • 为了评估精心优化的模型与策略在实际环境中的表现,Google对其实验框架进行了全面升级,旨在实现更高效、更精准和更快速的在线测试。新的框架支持更多的实验场景,提供更好的数据洞察,并显著缩短了实验周期,从而加速产品迭代和优化过程。 ... [详细]
  • 2016年5月3日,巴巴腾机器人正式亮相,仅一天时间便突破百万众筹。这款机器人凭借其独特的智能功能和出色的表现引起了广泛关注。它不仅具备多种令人意想不到的智能化特性,还在人机交互方面展现出卓越的能力,深受用户喜爱。 ... [详细]
  • PHP与MySQL的Web应用开发技术深入解析
    PHP与MySQL的Web应用开发技术深入解析 ... [详细]
  • 如何在重装系统时正确设置UEFI和Legacy模式?一篇文章教你搞定! ... [详细]
  • Netty框架中运用Protobuf实现高效通信协议
    在Netty框架中,通过引入Protobuf来实现高效的通信协议。为了使用Protobuf,需要先准备好环境,包括下载并安装Protobuf的代码生成器`protoc`以及相应的源码包。具体资源可从官方下载页面获取,确保版本兼容性以充分发挥其性能优势。此外,配置好开发环境后,可以通过定义`.proto`文件来自动生成Java类,从而简化数据序列化和反序列化的操作,提高通信效率。 ... [详细]
  • 如何在OPPO R9上设置隐私相册功能? ... [详细]
  • 在使用 `requests` 库进行 HTTP 请求时,如果遇到 `requests.exceptions.SSLError: HTTPSConnectionPool` 错误,通常是因为 SSL 证书验证失败。解决这一问题的方法包括:检查目标网站的 SSL 证书是否有效、更新本地的 CA 证书库、禁用 SSL 验证(不推荐用于生产环境)或使用自定义的 SSL 上下文。此外,确保 `requests` 库和相关依赖项已更新到最新版本,以避免潜在的安全漏洞。 ... [详细]
  • 蜘蛛表格:全面解析与应用指南
    蜘蛛表格:全面解析与应用指南 ... [详细]
  • C++入门必备:首个博客知识点汇总
    本文总结了C++初学者需要掌握的关键知识点,特别强调了成员类型的区分。其中,protected成员与private成员在本类中的作用相同,但protected成员允许派生类的成员函数访问,而private成员则不允许。此外,文章还介绍了其他重要的C++基础概念,如类的构造函数、析构函数以及继承机制,为初学者提供了一个全面的学习指南。 ... [详细]
  • 在使用Block时,正确的声明方法和确保线程安全是至关重要的。为了保证Block在堆中分配,应使用`copy`修饰符进行声明,因为栈中的Block与栈的生命周期绑定,容易导致内存问题。此外,还需注意Block捕获外部变量的行为,以避免潜在的循环引用和数据不一致问题。建议深入研究相关文档,以掌握更多高级技巧和最佳实践。 ... [详细]
  • “没有变量的机器人如同没有灵魂。”本文详细介绍了安川机器人中位置变量的解析方法与配置技巧,帮助维护人员更好地理解和操作这些关键参数。通过深入探讨变量的功能和应用场景,本文为技术人员提供了实用的指导,确保机器人在各种任务中能够高效、准确地运行。 ... [详细]
  • 在 Python 中,列表(list)是一种内置的数据类型,属于有序且可变的集合,支持随时添加或删除元素。此外,Python 还提供了多种独特的数据结构,如字典(dict)、集合(set)和元组(tuple),每种数据结构都有其特定的应用场景和优势。了解这些数值类型和数据结构对于高效编程至关重要。 ... [详细]
  • 本文探讨了利用Python编程语言开发自动化脚本来实现文件的全量和增量备份方法。通过详细分析不同备份策略的特点,文章介绍了如何使用Python标准库中的os和shutil模块来高效地管理和执行备份任务。此外,还提供了示例代码和最佳实践,帮助读者快速掌握自动化备份技术,确保数据的安全性和完整性。 ... [详细]
author-avatar
yo繽紛樂
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有