Portál AbcLinuxu, 7. května 2025 22:00

Dotaz: Jak získat celou adresu v PHP

5.5.2013 11:09 Korn
Jak získat celou adresu v PHP
Přečteno: 468×
Odpovědět | Admin
Ahoj, poradí někdo jak v php dostat do proměnné $foo všechno z GET?
Když budu mít v url: http://www.foo.bar/?a=a&b=b&c=c#two

tohle potřebuji

$foo="dostathttp://www.foo.bar/?a=a&b=b&c=c";
Díky za pomoc

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

5.5.2013 11:31 chrono
Rozbalit Rozbalit vše Re: Jak získat celou adresu v PHP
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pravdepodobne bude nutné ten údaj poskladať z dát, ktoré sa nachádzajú v $_SERVER.
5.5.2013 12:35 Korn
Rozbalit Rozbalit vše Re: Jak získat celou adresu v PHP
Jenže já bych potřeboval zjistit, že je v url znak "?", "=" atd.. Díky
5.5.2013 12:41 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Jak získat celou adresu v PHP
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
Řešení 1× (Christof)
5.5.2013 12:54 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Jak získat celou adresu v PHP
Odpovědět | | Sbalit | Link | Blokovat | Admin
<?php
echo isset($_SERVER['HTTPS'])?'https://':'http://'."${_SERVER['HTTP_HOST']}${_SERVER['REQUEST_URI']}";
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
Josef Kufner avatar 6.5.2013 10:21 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Jak získat celou adresu v PHP
Tohle není až tak úplně bezpečné. Uživatel může do HTTP_HOST napsat prakticky cokoliv (na filtrování ve web serveru bych moc nespoléhal, určitě neodchytí pochybné, ale validní, domény). Je tedy nutné zkontrolovat, že tam je to, co je očekáváno. Při troše štěstí by jinak bylo možné vyrábět odkazy a přesměrování na pochybná místa. Pokud by se takle sestavoval odkaz do e-mailu pro získání ztraceného hesla, bylo by to i reálně zneužitelné – útoćník by mohl poslat věrohodný mail, klidně i se správným podpisem, jen odkaz by vedl jinam.
Hello world ! Segmentation fault (core dumped)
6.5.2013 10:51 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Jak získat celou adresu v PHP
To je pravda, z dotazu jsem ale pochopil, že takto je to to co se chce, tedy skládat „klientem“ žádanou cestu, pokud je třeba seskládat „bezpečný“ odkaz (severem řízeným), tak je třeba zaměnit HTTP_HOST za SERVER_NAME (musí být server správně nakonfigurován) a zbytek (tedy místo $_SERVER['REQUEST_URI']) si bezpečně poskládat, klidně na základě $_GET či $_POST.
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
16.6.2013 06:11 vatay
Rozbalit Rozbalit vše Re: Jak získat celou adresu v PHP
Odpovědět | | Sbalit | Link | Blokovat | Admin
Je to stary 41 dni dotaz a asi to je vyreseny, ale aby aj ostatny vedeli. Najlepsy najprv napsat

.htaccess:

RewriteEngine On RewriteBase /test <-- tady napyses co nechces vidiet RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1?%{QUERY_STRING} [L]

ked más adresu napr. URL: http://neco.cz/test/a/b/login.php?var=1 a do php:

$_GET: array('var'=>1) $_SERVER['QUERY_STRING']: var=1 $_SERVER['PATH_INFO']: /a/b/login.php

Muzes udelat, aby videli len domain name.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.