Могу ли я получить IP-адрес для загрузки по FTP на сервер? - PullRequest
0 голосов
/ 25 июня 2010

Я предоставляю общедоступную учетную запись FTP для людей, чтобы загружать файлы во временную папку.Интерфейс AJAX показывает свежие файлы, затем пользователи могут пометить и переместить файл в другую папку.

Я хотел бы показать каждому пользователю только файлы, которые он сам загружал, а не все остальные, которые могут быть загружены вв то же время другими людьми.Отдельные учетные записи FTP недоступны.

Есть ли способ соединить вошедшего в систему пользователя и FTP-загрузку по IP-адресу?Могу ли я узнать IP-адрес загрузчика для любого файла, используя PHP?

Ответы [ 3 ]

1 голос
/ 25 июня 2010

Есть ли способ соединить вошедшего в систему пользователя и FTP-загрузку по IP-адресу? Могу ли я узнать IP загрузчика для любого файла, используя PHP?

Вы не можете легко найти данные IP-адреса для предыдущих загрузок FTP, если вы не захватили их в то время. В дальнейшем вы можете записать это, НО:

1) только если ваш FTP-сервер разрешает это

2) он, вероятно, запишет его в журнал, который вам нужно будет проанализировать, а затем сравнить с реальными файлами (не тривиально)

3) фундаментальный подход ошибочен - если только у вас нет пользователей, подключающихся только через локальную сеть, не требуется, чтобы клиентский адрес для FTP-соединения совпадал с клиентским для HTTP-соединения. (например, HTTP-соединение может проходить через прокси, прямое FTP-соединение).

Немного лучше было бы использовать имена пользователей, а не IP-адреса (хотя у вас все еще есть проблемы 1 и 2, с которыми приходится бороться).

Еще лучше: переписать FTP и выполнять загрузку с использованием HTTP.

C.

1 голос
/ 25 июня 2010

Сделайте это с PHP, вы показываете это в Интернете, верно?

Составь новую таблицу на себе mysql или другой db! Каждый раз, когда они отправляют файл, сохраняйте в вашей новой таблице на БД путь, ip, имя пользователя сети (если есть) и md5sum, если вам нужно на потом, тогда, при перечислении, вам нужно только найти путь в БД и распечатать имя пользователя или IP ... И когда они удаляют, удаляют строку с этим путем, а когда они перемещаются, изменяют путь этой строки. Все просто:)

;)

РЕДАКТИРОВАТЬ: Извините за мой английский, я надеюсь, вы понимаете это ...

0 голосов
/ 25 июня 2010

Возможно одно из следующих действий:

  • Измените свой FTP-сервер, чтобы сохранить имя файла и IP-адрес в базе данных или файле.
  • Просмотрите журналы сервера FTP (которые предположительно содержат IP-адреса и имена файлов) и периодически сохраняйте эту информацию в базе данных.
  • Позволяет пользователям загружать файлы через HTTP. В этом случае вы можете реализовать его с помощью PHP и сохранить IP-адрес и имя файла.
...