Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Ftp , bezpieczny download
slepy
post
Post #1





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 27.02.2003

Ostrzeżenie: (0%)
-----


(IMG:http://forum.php.pl/style_emoticons/default/aarambo.gif) Siema all (IMG:http://forum.php.pl/style_emoticons/default/aarambo.gif)
Mam server ftp, chcialbym tam wzucic kilka gier itp.
Pierwszym moim ruszem bylo zrobienie okna ktore sie "ukrywa" poprzez meta wlacza sciaganie i po 10 sec samo sie wylacza.. Ale nie zawsze to sciaganie sie zdazylo wlaczyc a juz www sie zamykalo, dlatego pomyslalem ze zrobie to w php..
Oto torche zrodla:
  1. <?php
  2. $ftp_server=&#092;"ip\";
  3. $ftp_user_name=&#092;"login\";
  4. $ftp_user_pass=&#092;"haslo\";
  5.  
  6. $conn_id = ftp_connect($ftp_server); 
  7. $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); 
  8. if ((!$conn_id) || (!$login_result)) { 
  9.  echo &#092;"Połączenie FTP się nie powiodło!\";
  10. die; 
  11.  } else {
  12.  echo &#092;"Połączony z serverem\";
  13.  }
  14. ?>

I co teraz musze zrobic zeby pobieranie pliku wlaczylo sie u uzytkownika? jest w ogole taka mozliwosc ? bo ftp_get pobiera mi plik na server z www ;/
Z gory THx za pomoc;)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
gdaq
post
Post #2





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 25.12.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


C zamierzalem uzyc do jakby wlasnego server'a ftp ktory bedzie laczyc sie na wezwanie php'a z prawdziwym ftp'em. Podawal link do pliku ale defakto sciagal go przez mojego ftp'a ktoy dzialalby na jakims innym porcie i maskowal adres ftp w ten sposob.

MD5
zapisuje login do tablicy charow mieszam wszystkie znaki przypadkowo i generuje z tego md5 dostaje unikatowa nazwe. Tworze katalog w katalogu tmp o tej wlasnei nazwie. Wykluczam wlasciwie prawodpodobienstwo przypadkowego odnalezienia katalgou przez uzytkownika choc watpie zeby ktos chcial probowac jak zobaczy nazwe ftp://download/#@krzaczki@#/file.exe katalogowi download nadajemy chmod 771 a #@krzaczki@# chmod 775 co daje nam brak mozliwosci przegladania katalogow znajdujach sie w ktalagou download

Dodawanie kont do ftp'a jest chyba troszke malo wydajne i niebezpieczen bo w pewnym momencie bedziemy mieli np. 10 tys. kont na ftpie z czego uzywanych bedzie tylko 1 tys.

Nie chce mi sie wierzyc ze to jest takie skaplikowane do wykonania nie da sie tego jakims porostym sposobem rozwiazac.

Powracajajc jeszcze do funckji readfile etc. mam taki skrypcik:

  1. <?php
  2. header(&#092;"Pragma: public\");
  3. header(&#092;"Expires: 0\");
  4. header(&#092;"Cache-Control: must-revalidate, post-check=0, pre-check=0\");
  5. header(&#092;"Cache-Control: public\"); 
  6. header(&#092;"Content-Description: File Transfer\");
  7. header('Content-Type: application/octet-stream');
  8. header('Content-Disposition: attachment; filename='.$filename);
  9. header('Content-Type: application/force-download');
  10. header(&#092;"Content-Transfer-Encoding: binary\");
  11. header(&#092;"Content-Length: \".filesize($filename));
  12. readfile($pathfile);
  13.  
  14. ?>


Tylko ze sciaga wtedy np 255 bajtow np. z 8 MB. Czyli laczy sie z serwerem po przejrzeniu logow wnioskuje ze wynika to z tego iz jesli wywolam readfile lacze sie z serwerem przy uzyciu active mode a nie pasive moze o to chodzi. Ponizej zapis logow z servwera dla udanego download'u przy uzyciu header("Location") i nie udanego przy uzyciu readfile()

Kod
2005-02-16 09:27:06#majkel#00:00:13#8887179#0#8887179#1#0#634798,500#8#0
(000007) 2005-02-16 09:27:06 - (not logged in) (192.168.0.218) > connected to ip : 192.168.0.228
(000007) 2005-02-16 09:27:06 - (not logged in) (192.168.0.218) > sending welcome message.
(000007) 2005-02-16 09:27:06 - (not logged in) (192.168.0.218) > 220 BulletProof FTP Server ready ...
(000007) 2005-02-16 09:27:06 - (not logged in) (192.168.0.218) > USER anonymous
(000007) 2005-02-16 09:27:06 - (not logged in) (192.168.0.218) > 331 Password required for anonymous.
(000007) 2005-02-16 09:27:06 - (not logged in) (192.168.0.218) > PASS ********
(000007) 2005-02-16 09:27:06 - majkel (192.168.0.218) > logged in.
(000007) 2005-02-16 09:27:06 - majkel (192.168.0.218) > 230 User majkel logged in.
(000007) 2005-02-16 09:27:06 - majkel (192.168.0.218) > TYPE I
(000007) 2005-02-16 09:27:06 - majkel (192.168.0.218) > 200 Type set to I.
(000007) 2005-02-16 09:27:06 - majkel (192.168.0.218) > PASV
(000007) 2005-02-16 09:27:06 - majkel (192.168.0.218) > 227 Entering Passive Mode (192,168,0,228,102,45).
(000007) 2005-02-16 09:27:06 - majkel (192.168.0.218) > SIZE /pcmark2002.exe
(000007) 2005-02-16 09:27:06 - majkel (192.168.0.218) > 213 8887179
(000007) 2005-02-16 09:27:06 - majkel (192.168.0.218) > RETR /pcmark2002.exe
(000007) 2005-02-16 09:27:06 - majkel (192.168.0.218) > asked to download 'C:\apache\htdocs\pcmark2002.exe' --> Access allowed.
(000007) 2005-02-16 09:27:06 - majkel (192.168.0.218) > 150 Data connection accepted from 192.168.0.218:1186; transfer starting for pcmark2002.exe (8887179 bytes).
(000007) 2005-02-16 09:27:06 - majkel (192.168.0.218) > started downloading 'C:\apache\htdocs\pcmark2002.exe'.
(000007) 2005-02-16 09:27:13 - majkel (192.168.0.218) > finished downloading 'C:\apache\htdocs\pcmark2002.exe' -  (00:00:08 - 8678,886 KB - 1084,861 KBytes/s)
(000007) 2005-02-16 09:27:13 - majkel (192.168.0.218) > 226 Transfer ok
(000007) 2005-02-16 09:27:19 - majkel (192.168.0.218) > disconnected. (00:00:13)

2005-02-17 14:03:08#majkel#00:00:00#0#0#0#0#0#0,000#0#0
(000006) 2005-02-17 14:03:08 - (not logged in) (192.168.0.228) > connected to ip : 192.168.0.228
(000006) 2005-02-17 14:03:08 - (not logged in) (192.168.0.228) > sending welcome message.
(000006) 2005-02-17 14:03:08 - (not logged in) (192.168.0.228) > 220 BulletProof FTP Server ready ...
(000006) 2005-02-17 14:03:08 - (not logged in) (192.168.0.228) > USER anonymous
(000006) 2005-02-17 14:03:08 - (not logged in) (192.168.0.228) > 331 Password required for anonymous.
(000006) 2005-02-17 14:03:08 - (not logged in) (192.168.0.228) > PASS ********
(000006) 2005-02-17 14:03:08 - majkel (192.168.0.228) > logged in.
(000006) 2005-02-17 14:03:08 - majkel (192.168.0.228) > 230 User majkel logged in.
(000006) 2005-02-17 14:03:08 - majkel (192.168.0.228) > TYPE I
(000006) 2005-02-17 14:03:08 - majkel (192.168.0.228) > 200 Type set to I.
(000006) 2005-02-17 14:03:08 - majkel (192.168.0.228) > SIZE /ftp/pcmark2002.exe
(000006) 2005-02-17 14:03:08 - majkel (192.168.0.228) > 550 No such file or directory.
(000006) 2005-02-17 14:03:08 - majkel (192.168.0.228) > disconnected. (00:00:00)

Nie wiem wsumie co jest zapisywane na dysku bo z tego co powyzej wynika ze nic nie zostalo sciagniety w drugim przypadku z server'a
Czekam na jakies sugestie i propozycje:)

Gdaq

Ten post edytował gdaq 17.02.2005, 14:18:11
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.10.2025 - 08:57