2010-06-25 90 views
0

我提供了一个公共的FTP帐户供人们上传文件到一个临时文件夹中。一个AJAX界面显示新鲜文件,然后用户可以标记文件并将其移动到另一个文件夹中。我可以在服务器上获取FTP上传的IP地址吗?

我想向每个用户显示他们自己上传的文件,而不是其他人可能同时上传的所有其他文件。个人FTP帐户是没有选择。

有没有办法通过IP地址连接登录用户和FTP上传?我可以使用PHP找出任何给定文件的上传者IP吗?

回答

1

有没有办法通过IP地址连接登录用户和FTP上传?我可以使用PHP找出任何给定文件的上传者IP吗?

如果您以前没有捕获FTP,则无法轻松找到以前的FTP上传的IP地址数据。展望未来,你当然可以记录这一点,但:

1)只有在FTP服务器允许它

2)它可能会写到你需要解析,然后与实际的文件进行比较的日志(不是微不足道的)

3)基本方法是有缺陷的 - 除非你只有通过局域网连接的用户,否则不要求FTP连接的客户端地址与客户端连接相同HTTP连接。 (例如,HTTP连接可能会通过代理,直接通过FTP连接)。

稍微好一点的方法是使用用户名而不是IP地址(尽管您仍然遇到问题1和2需要解决)。

更好的是,取消FTP并使用HTTP进行上传。

C.

+0

谢谢,这似乎是一个很好的综合报道。我知道这个概念不是很干净,所以改变它可能会更好,而不是花大力气去实现它。 – pixelistik 2010-06-25 13:10:31

1

用PHP做,它显示在网络上的权利?

在你的mysql或其他数据库上做一个新表! 每次他们发送一个文件,保存到DB上的新表,路径,IP,Web用户名(如果有的话)和md5sum,如果你以后需要,然后,当列表时,你只需要搜索数据库的路径和打印用户名或IP ... 当它们删除时,删除具有该路径的行,并在它们移动时更改该行的路径。 很简单:)

;)

编辑:对不起,我的英语,我希望你明白它...

0

下列之一是可能的:

  • 更改您的FTP服务器将文件名和IP地址保存到数据库或文件。
  • 通过FTP服务器日志(它应该包含IP地址和文件名)并定期将这些信息存储在数据库中。
  • 让用户通过HTTP上传文件。在这种情况下,您可以使用PHP实现它并存储IP和文件名。
相关问题