![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 11.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Potrzebuję z pewnego serwisu, dajmy na to a.pl pobrać plik. Aby pobrać plik muszę najpierw do niego się zalogować. Z tym nie ma problemu (curl) jak i również nie mam problemu z pobraniem pliku (robię to za pomocą przekierowania 301). Problem jest następujący - plik jest generowany dla IP, który go chce pobrać. Czyli - na localhoscie wszystko działa pięknie (oczywiście jeśli ja pobieram plik). Schody zaczynają się, gdy postawię skrypt na serwerze. Wtedy IP pobierane jest z serwera a nie od użytkownika który wszedł na skrypt (nasz kochany curl). I w wyniku czego - fakt, dostanę adres linku, ale go nie pobiorę, bo serwis a.pl nie przypisał do niego adresu IP użytkownika tylko mojego serwera. Mam jedno rozwiązanie - poprzez streaming pliku. Czyli serwer pośredniczy w przesyłaniu pliku do użytkownika. Takie rozwiązanie niestety mnie nie satysfakcjonuje, ponieważ zżera transfer z mojego serwera i prędkość jest uzależniona od mojego serwera. Jak zrobić, aby adres IP był pobrany nie z serwera a od użytkownika który wszedł na mój skrypt? Proszę tylko nie pisać, że się nie da - widziałem jak takie coś działało na pewnej stronie, jednak skryptu w .php nie pobiorę, żebym mógł sprawdzić jak to jest zrobione ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 711 Pomógł: 127 Dołączył: 5.07.2008 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
To jest zabezpieczenie strony przed takimi opryszkami jak ty a na tym forum z tego co wiem nie wspiera się takich działań.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 11.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Yy to jest normalne pytanie z programowania. Równie dobrze mógłbym podać sytuację, gdy użytkownik za pomocą mojego serwera i mojego skryptu dodaje jakąś wiadomość na innej stronie. Dlaczego ta strona ma mieć IP mojego serwera a nie IP użytkownika który korzysta z mojego skryptu?
Ja mam tylko pytanie czy i jak można takie coś zrobić... A kwestię, że serwer a.pl ma takie a nie inne zabezpieczenia pozostawiam to bez komentarza. Wielu tutaj się pytało o pobieranie danych z innych stron - i jakoś oni dostawali pomoc. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 0 Dołączył: 5.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
o ile wiem curl wspiera proxy, więc może tą drogą da się to rozwiązać
![]() |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 1 366 Pomógł: 261 Dołączył: 23.09.2008 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Możesz zrobić tak jak to robią serwisy od pobierania czyli przekierować usera na stronę downloadu czyli z tekstem "Dziękujemy bla bla bla za pobieranie pliku, pobieranie zacznie się za chwile jeżeli nie kliknij w link"
a w kodzie dajesz meta z refresh na adres z plikiem, gdy przeglądarka wykrywa że jest to plik to nie przechodzi na nową stronę tylko wyskakuje monit z pobieraniem i jest wrażenie że plik jest pobierany z Twojej strony a nie z zew. adresu, a IP idzie użytkownika. -------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 11.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Ale to nie jest rozwiązanie - bo ten plik jest dostępny po zalogowaniu a loguję się curlem. Czyli teoretycznie użytkownik jakby ręcznie się zalogował i pobrał ten plik to by chodziło. Ale ja się loguję curlem - a curl podaje IP serwera i użytkownik nie pobierze bo ma inne IP. Na localu u mnie chodzi, na serwerze już nie...
A proxy no to niby by było - ale IP musi być takie jak pobiera plik użytkownik czyli odpada. Ten post edytował pytajniczek 11.08.2011, 16:37:11 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 1 366 Pomógł: 261 Dołączył: 23.09.2008 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
To przy logowaniu ustaw nagłówek IP jako IP użytkownika
![]() -------------------- |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 11.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Jakby to było takie proste
![]() Kodzik:
Nie działa... Myślałem, żeby coś pokombinować z fopen lub fsockopen tylko jak to zrobić? Czyli, że skrypt tak jakby przekazuje plik użytkownikowi ale IP jest nadal serwera - czyli w drugą stronę ![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 12:05 |