Witam. Jak w tytule. Czy jest jakiś sposób aby ukryć adresy fizyczne plików które znajdują się na innym serwerze? Chciałbym aby użytkownik przy pobieraniu pliku nie wiedział, że pobiera go z innego serwera. Wiem, że są rzeczy takie jak tnij.org i mógłbym napisać funkcję, która zwracałaby skrócony link ale przy pobieraniu i tak widać źródło... Jeżeli jest to możliwe to bardzo proszę o pomoc. Oczywiście nie wchodzi w grę ściąganie tych plików na mój serwer.
Jak chcesz ukryć, to niestety jedyną metodą jest przepuszczanie plików przez twój serwer. Czyli w locie pobierasz i w locie udostępniasz użytkownikowi.
Niestety to by mnie za dużo kosztowało. Ale chyba znalazłem kompromisowe rozwiązanie. Zmiana domeny na adres ip serwera. Szkoda no ale chyba muszę się tym zadowolić.
Rozwijają wypowiedź DM: Możesz utworzyć skrypt, powiedzmy download.php, przyjmujący parametr liczbowy ID. Na podstawie tego ID będziesz decydował jaki plik ma być ściągany. W skrypcie tym pobierasz plik za pomocą file_get_contents. Nie zapominaj także o odpowiedniej konfiguracji serwera - allow_url_fopen musi być włączone. Pobrany plik wyrzucasz na wyjście za pomocą echo.
kubARek napisał(a)
Rozwijają wypowiedź DM: Możesz utworzyć skrypt, powiedzmy download.php, przyjmujący parametr liczbowy ID. Na podstawie tego ID będziesz decydował jaki plik ma być ściągany. W skrypcie tym pobierasz plik za pomocą file_get_contents. Nie zapominaj także o odpowiedniej konfiguracji serwera - allow_url_fopen musi być włączone. Pobrany plik wyrzucasz na wyjście za pomocą echo.
Litości, przy 100MB plikach to nie uciągnie. Trzeba jechać na fopen + fgets i co jakiś czas flushować zawartość do użytkownika. Można też dorobić obsługę wznawiania pobierania, ale to już wyższa szkoła jazdy.
Adres IP zazwyczaj mało daje, bo o ile wejdzie ci takie 4P czy jakiś pornoschab po adresie IP, to strony mogą być różnie skonfigurowane...
Przykład: gothic.gram.pl != 89.248.166.198
A tak, co racja to racja :P Moja koncepcja jest dobra do pobierania jpgów i txtów, ale przy większych plikach faktycznie byłby problem..
Niestety nie ma takiej opcji. Tych plików ma być całkiem sporo i różnej wielkości. Poza tym jest limit transferu, miejsca na dysku i serwer nie ma nie wiadomo jakiej przepustowości żeby pobierać masę plików w tym samym czasie. Takie rozwiązanie odpada.
Więc innego nie ma.
można jeszcze użyć nagłówka location (google + header + location) i przekierowywać przeglądarkę na właściwy plik. mniej kumaci ludzie (czyli 95% użytkowników internetu) nie połapie się.
A może po prostu zrób regułę htaccess :)
leadersmind napisał(a)
A może po prostu zrób regułę htaccess :)
Mógłbyś rozwinąć trochę temat? Z plikiem .htaccess jeszcze nie pracowałem i chętnie to nadrobię tylko napisz co to ma na celu (w tym przypadku) bo nie wiem ;-)
i co da ta reguła, poza rewritem url-a? przecież nie zmienisz nazwy zewnętrznych hostów.
Ok, w sumie na potrzeby mojego projektu wystarczy zmiana hosta na ip bo lista serwerów jest bardzo wąska i takie coś będzie działało prawidłowo.
ŁF napisał(a)
i co da ta reguła, poza rewritem url-a? przecież nie zmienisz nazwy zewnętrznych hostów.
Wydaje mi się, że można zrobić wyswietlanie pliku na zasadzie:
jezeli adres (na mojej domenie) to katalog/plik.jpg to przepisuje to na http://innadomena.pl/plik.jpg
W firebugu bedzie widac, ze plik jest pobierany skad indziej, ale laik chyba tego nie zobaczy.
Nie jestem pewien czy to zadziała, ale wydaje mi się, że powinno być ok.
Mógłbyś opisać o co z tym chodzi?
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.