Конференция "Сети" » Как из программы дать доступ к FTP не храня в программе пароль
 
  • Погроммист (27.03.16 14:57) [0]
    В общем. Есть задача нужно хранить файлы на хостинге. Там есть ftp и веб. Хочу сделать так чтобы из моей программы пользователи могли закачивать файлы и получать их обратно в мою программу, но не сохраняя на диск то есть в TMemoryStream. Причем должно быть разграничение доступа к файлам  для разных пользователей. Грубо говоря, каждый пользователь должен иметь доступ только к своим файлам. Но вижу такую проблему, если я в своей программе сохраню логин  пароль к ftp. То любой кулхацкер сможет его оттуда вытащить зайти на фтп и взять оттуда все что захочет или удалить там все. Можно ли что нибудь с этим сделать?

    Есть идея из программы вызывать php скрипт, который будет выкладывать на ftp только требуемый в данный момент файл, и в скрипте будет проходить авторизация, таким образом пользователи не будут иметь потенциальный доступ ко всем файлам. Но 1) не знаю доступны ли функции фтп в пхп на моем сервере. а главное двойное копирование будет замедлять загрузку файла в программу.

    Какие есть еще варианты?
  • Погроммист (27.03.16 17:04) [1]
    Идеально бы было если бы пхп скрипт выдавал файл прямо в TMemoryStream, но как такое сделать и возможно ли это я вот не знаю
  • megavoid © (27.03.16 17:29) [2]

    > Какие есть еще варианты?

    Разные, например, S3, каждому юзеру по бакету, но это я так, просто мысли вслух :)

    Про ftp сразу забудь. На вебсервере заведи три php файла, один будет управлять авторизацией, его будут инклюдить два других файла, первый сохранять в папку юзера файлы, второй отдавать обратно. Это необходимый минимум для указанного тобой тз.


    // auth.php
    <?php
    if(!$post["login"] && !$_post["password"]) die(0);

    // store.php
    <?php
    require_once("auth.php");
    file_put_contents( "$user/$filename", $post["_data"] );




    > но как такое сделать и возможно ли это я вот не знаю



    // retreive.php
    <?php
    require_once("auth.php");
    echo file_get_contents( "$user/$filename" );

 
Конференция "Сети" » Как из программы дать доступ к FTP не храня в программе пароль
Есть новые Нет новых   [119345   +62][b:0][p:0.001]