Portál AbcLinuxu, 13. května 2025 19:39
Dobry den
Jak v Apachi zpristupnit promenou $SERVER['HTTP_REFERER'] pro PHP
diky
$_SERVER is an array containing information such as headers, paths, and script locations. The entries in this array are created by the webserver. There is no guarantee that every webserver will provide any of these; servers may omit some, or provide others not listed here.
Děkuji za pomoc, ale potřebuji zpřístupnit proměnou $SERVER['HTTP_REFERER']
, kterou mi neposila Apache v hlavičce. Řekl bych, že to bude spis někde v httpd.conf
$_SERVER['HTTP_REFERER']
(podtržítko za $). Jinak podle mě si to normální instalace php od apache vezme sama...
(btw, kam by jí měl v hlavičce posílat?)
Ve jmenu promene byla chyba: $_SERVER['HTTP_REFERER']
, nicmene jen zde v disklusi
Když použiji script na vypsani pole $SERVER[]
print_r($_SERVER);
dostanu takovyto vysledek:
Array ( [HTTP_HOST] => 192.168.161.23 [HTTP_USER_AGENT] => Mozilla/5.0 (Windows; U; Windows NT 5.1; cs; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4 [HTTP_ACCEPT] => text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 [HTTP_ACCEPT_LANGUAGE] => cs,en-us;q=0.7,en;q=0.3 [HTTP_ACCEPT_ENCODING] => gzip,deflate [HTTP_ACCEPT_CHARSET] => windows-1250,utf-8;q=0.7,*;q=0.7 [HTTP_KEEP_ALIVE] => 300 [HTTP_CONNECTION] => keep-alive [HTTP_CACHE_CONTROL] => max-age=0 [PATH] => /sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin [SERVER_SIGNATURE] => Apache/2.0.54 (Fedora) Server at [SERVER_SOFTWARE] => Apache/2.0.54 (Fedora) [SERVER_NAME] => 192.168.161.23 [SERVER_ADDR] => 192.168.161.23 [SERVER_PORT] => 80 [REMOTE_ADDR] => 192.168.1.2 [DOCUMENT_ROOT] => /var/www/html [SERVER_ADMIN] => root@localhost [SCRIPT_FILENAME] => /var/www/html/test.php [REMOTE_PORT] => 2813 [GATEWAY_INTERFACE] => CGI/1.1 [SERVER_PROTOCOL] => HTTP/1.1 [REQUEST_METHOD] => GET [QUERY_STRING] => [REQUEST_URI] => /test.php [SCRIPT_NAME] => /test.php [PHP_SELF] => /test.php [argv] => Array ( ) [argc] => 0 )Chyby promena [HTTP_REFERER].
grep -Ri referer /etc/httpd/*
to jistě najde...
HTTP_REFERER
nebude v tom výpisu, pokud onen referer neexistuje. Určitě se na stránku /test.php dostaneš kliknutím na odkaz z jiné?
Ano, na stranku, která vypisuje $_SERVER['HTTP_REFERER'] se dostanu z jine stranky kliknutim na odkaz
V http.conf jsem zkousel hledat už dřív, avšak nic jsem nenašel.
Na jimen PC na localhostu mi to jde. Jeste me napadlo: Nemuze tuto hlavicku blokovat Firewall???
vyzkouším.
Na to proc mi Apache nevraci hlavicku HTTP_REFERER jsem neprisel
Pouzil jsem configuracni soubory Apache z jineho PC na kterem bezela stejna verze Apache, a upravil jsem par udaju, ktere se lisily.
Na problem jsem naprisel, nicmene reseni to bylo a nyni jiz od Serveru hlavicku REFERER mohu v PHP precist.
zdravim Tomas
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.