Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Adres przesyłany w GET, Mieszające się zmienne
Adrian1207
post
Post #1





Grupa: Zarejestrowani
Postów: 94
Pomógł: 10
Dołączył: 20.02.2007

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


Witam
Mam mały problem z przesłaniem adresu URL w zmiennej GET do innej strony. Jako że w adresie url też są zmienne GET, mój skrypt bierze je jako swoje i ucina poprawny adres. Może przykład:

Jestem na stronie domena.pl ze zmienną GET['url']:
Kod
http://domena.pl/skrypt.php?url=http://www.costam.pl/innyskrypt.php?cos=a&cos2=b&cos3=c


I chcę, aby skrypt.php dostał w zmiennej GET cały url, czyli:
Kod
http://www.costam.pl/innyskrypt.php?cos=a&cos2=b&cos3=c


Ale skrypt.php za url bierze:
Kod
http://www.costam.pl/innyskrypt.php?cos=a


A resztę traktuje jako swoje zmienne.

No i tu pojawia się pytanie jak zrobić, żeby cos2 i cos3 bylo dalej w URL'u. Nie mogę edytować wcześniej przesyłanego adresu żeby przesyłał się z & zastąpionymi %26.

Czyli szukam funkcji która jakoś przeczyta mi $_GET['url'] jako całość.

Bardzo proszę o pomoc.

Pozdrawiam
Go to the top of the page
+Quote Post
SirZooro
post
Post #2





Grupa: Zarejestrowani
Postów: 243
Pomógł: 32
Dołączył: 14.06.2007

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


urlencode
Go to the top of the page
+Quote Post
Adrian1207
post
Post #3





Grupa: Zarejestrowani
Postów: 94
Pomógł: 10
Dołączył: 20.02.2007

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


Tylko jeszcze z tym taki problem, że url pobieram w file_get_contents a ten mi wywala failed to open stream po użyciu urlencode.
Dokładnie to użyłem tego tak:
  1. <?php
  2. $bleble=urlencode($_GET['url']);
  3. ?>
Go to the top of the page
+Quote Post
SirZooro
post
Post #4





Grupa: Zarejestrowani
Postów: 243
Pomógł: 32
Dołączył: 14.06.2007

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


Do konwersji w drugą stronę służy funkcja urldecode - jej powinieneś użyć.

A tak przy okazji, nie wiem co chcesz osiągnąć, ale w ten sposób możesz narazić swój serwis WWW na niebezpieczeństwo pod tytułem Remote File Inclusion.
Go to the top of the page
+Quote Post
Adrian1207
post
Post #5





Grupa: Zarejestrowani
Postów: 94
Pomógł: 10
Dołączył: 20.02.2007

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


Sprawdziłem dokładnie, i po użyciu urlencode nadal ucinało mi url, a resztę brało jako swoje zmienne. Gdyby nie ucinało to dekodując to później urldecode bym uzyskał taki efekt jakiego potrzebuje, ale na to wyszło że ten kod:
  1. <?php
  2. $bleble=urlencode($_GET['url']);
  3. $ble=urldecode($bleble);
  4. ?>


Działa tak samo jak po prostu:
  1. <?php
  2. file_get_contents($_GET['url']);
  3. ?>


Bo wcale nie łączy całego url'a, tylko nadal kończy go
Kod
http://www.costam.pl/innyskrypt.php?cos=a


A nie
Kod
http://www.costam.pl/innyskrypt.php?cos=a&cos2=b&cos3=c


Więc ta funkcja nie bardzo pomogła, pewnie by pomogła gdybym adres zakodował przed wysłaniem, no ale muszę odebrać go w całości. Także jeszcze bym prosił o pomoc.

Edit
A, o zagrożeniu wiem, ale to nieistotne w tym wypadku.

Ten post edytował Adrian1207 12.12.2008, 21:01:26
Go to the top of the page
+Quote Post
erix
post
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Wytnij sobie zawartość z $_SERVER['QUERY_STRING'].
Go to the top of the page
+Quote Post
Adrian1207
post
Post #7





Grupa: Zarejestrowani
Postów: 94
Pomógł: 10
Dołączył: 20.02.2007

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


OOO wielkie dzięki erix, to zadziałało (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) wyciąłem sobie cały url i wszystko gra.

SirZooro też dzięki za podanie funkcji.

Dzięki i pozdrawiam

Ten post edytował Adrian1207 13.12.2008, 13:19:50
Go to the top of the page
+Quote Post

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: 17.09.2025 - 17:02