【问题标题】:File manager API in PHPPHP 中的文件管理器 API
【发布时间】:2018-02-11 10:04:34
【问题描述】:

我计划开发一个在线文件管理器应用程序来管理(添加/编辑/更新/复制/删除)我的客户(我的业务客户)的服务器文件。而不是使用 Filezila 或任何此类 FTP 应用程序。因为没有这样的选项来跟踪这些应用程序中的文件更改历史记录。

我的想法是

  1. 在生产服务器中放置代理文件 (http://example-client-site.com/file-manager-api.php)

  2. 从我在线托管的项目管理系统中调用代理文件 (file-manager-api.php)。 (http://example-proj-mgmt.com)

  3. 所以我可以从我的项目管理系统(如 REST API)访问生产服务器文件,而无需通过 FTP 连接。

我的问题是,通过 URL REST API 方法访问服务器的方式存在哪些安全问题?

请给我一些解决安全问题的想法。

提前致谢:)

【问题讨论】:

  • “在客户端服务器中放置代理文件”,你是什么意思?在“客户端服务器”中?!
  • 对不起,我把“客户端服务器”弄混了,这里客户端的意思是“我为之工作的客户”
  • 也有类似的,PHP文件管理器phpfm.sourceforge.net
  • 是的,phpfm.sourceforge.net 是非常简单和轻量级的文件管理器,但是如果我使用它,那么我必须将它安装在我所有的生产服务器中,我的目标是访问服务器文件而不坚韧的生产服务器。谢谢你的建议。

标签: php ftp


【解决方案1】:

概念很好,我只关心安全。您可以做的是保留诸如令牌或授权密钥之类的东西,只有授权用户才能访问它,因为涉及的是 REST API。

  1. 授权(Tokn 密钥)
  2. 防止跨站点请求伪造
  3. 不安全的直接对象引用
  4. 网址验证
  5. 安全解析和强类型化
  6. 验证传入的内容类型
  7. JSON 编码
  8. 消息完整性

【讨论】:

  • 感谢您的建议 #1。 #2 可以使用一些安全令牌。只有允许的 IP 才能接受目标服务器 #3、#4 的请求,代理文件将是唯一的,将像 md5('some key').'.php'; 4. 代理文件只接受来自指定静态 IP 的请求。我只是想知道,是否有可能使用“中间人攻击”、“IP 欺骗”或类似的东西来破坏系统。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-07-27
  • 2021-11-24
  • 2016-11-11
  • 2011-12-27
  • 1970-01-01
  • 2013-07-15
相关资源
最近更新 更多