Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从浏览器向非web服务器的服务器发送文件_Php_Security_File Transfer - Fatal编程技术网

Php 从浏览器向非web服务器的服务器发送文件

Php 从浏览器向非web服务器的服务器发送文件,php,security,file-transfer,Php,Security,File Transfer,我想将文件从浏览器发送到不是网站所在服务器的服务器。问题是另一台服务器不是web服务器。 在没有主机服务器参与的情况下,是否可以通过编程将文件发送到不同的服务器?我不想在我的托管服务器上上传文件的副本 很抱歉第一次不清楚。我希望这是有道理的 注意:我有服务器的IP地址。必须以安全的方式实施。创建一个签名应用程序来处理上载。 浏览器沙箱的基本规则之一是,不允许浏览器与提供网站的服务器以外的服务器通信。这是一个规则已经有相当一段时间了,并且是出于安全原因而这样做的 据我所知,绕过此限制的唯一方法是使

我想将文件从浏览器发送到不是网站所在服务器的服务器。问题是另一台服务器不是web服务器。 在没有主机服务器参与的情况下,是否可以通过编程将文件发送到不同的服务器?我不想在我的托管服务器上上传文件的副本

很抱歉第一次不清楚。我希望这是有道理的


注意:我有服务器的IP地址。必须以安全的方式实施。

创建一个签名应用程序来处理上载。

浏览器沙箱的基本规则之一是,不允许浏览器与提供网站的服务器以外的服务器通信。这是一个规则已经有相当一段时间了,并且是出于安全原因而这样做的

据我所知,绕过此限制的唯一方法是使用已签名的应用程序。这在几种语言中都是可能的,至少包括Flash和Java。使用权威源对应用程序进行签名后,可以指定已知应用程序与第三方服务器通信,并且应该信任应用程序与第三方服务器通信。根据您选择的技术,执行此操作的过程将有所不同


将文件发送到的服务器需要允许某种协议才能接受文件。您没有指定这是什么,但是这些语言应该足以实现您需要的任何功能。

如果您对辅助服务器进行了必要的身份验证,您可以 我将解释如何使用ftp,但也可能有其他与套接字相关的方法

1) 像往常一样,使用$\u文件将文件上载到服务器


2) 使用php中的类将文件传输到远程主机

感谢大家提出的宝贵建议。我选择了有点奇怪的方式,但考虑到项目的当前需求,这似乎是唯一可行的解决方案

我计划在外部服务器上安装lite版本的web服务器和php,可以通过浏览器接收上传的文件

我们队已经解决了,这是我们现在可以考虑的最好的解决方案。
再次感谢大家的建议。

Firefox插件(youtube等)一直都是这样做的。它是否必须从页面源驱动?你有多想偷偷摸摸地做这件事? 另一台服务器应使用通用协议SSH或ftp或NFS或CIFS

在任何情况下,用户都必须同意在后台运行的插件、applet或第三方服务(想想punkbuster)


BF4通过插件在浏览器窗口中运行,并定期向游戏服务器以外的服务器发送数据

这没有任何意义。还有,当你有具体问题时,你应该自己开始,并在这里发帖,这太宽泛了。@jeroen我开始实施,但我找不到任何方法。我曾尝试使用soap服务器执行此操作,但我不希望将文件保存在web服务器上,而是希望将其直接发送到另一个远程服务器。您的浏览器是为运行web服务而构建的。如果此“其他服务器”未运行web服务,则您的浏览器将无法与其通信。您的web服务器可能更灵活,如果您知道“其他服务器”上有哪些协议可用,可能会为您传输文件。你必须上传到你的网络服务器,并让该服务器传递文件。由于您没有提供“其他服务器”的详细信息,所以我无法说明如何使用,或者即使这实际上是可能的。@MikeW谢谢Mike。另一个服务器是存储服务器,仅用于存储额外数据。我可以按照我想要的方式来配置它。你似乎是个新手,所以我们三个人已经投票决定重新开始你的问题。在我看来,如果你知道你的另一个(非网络)的文件传输协议是什么,你可以进一步改进你的问题服务器可能是。这是我想到的第一种方法,但您知道,由于安全原因,我们不希望在服务器上创建文件的额外副本。任何其他解决方案都会涉及跨域创作,这会出现问题。谢谢Erick。。你的意思是创建Java小程序并授权它吗?是的,这是一种方法。一旦签名,它就可以在浏览器沙箱之外运行。