Portál AbcLinuxu, 10. května 2025 05:27
mam http://domena.tld/aplikace.php
kde je nejaky vykonavany script a pomoci parameru mu predam udaje. abych ale osetril ze to pujde jen z povolenych URL
napr. http://nejakadomena.tld/registrace.php
kde to zavolam pomoci fopen("http://domena.tld/aplikace.php?a=b&c=d","r"); (asi je jedno zda readfile apod.)
tak z http://domena.tld/aplikace.php nepoznam odkud to bylo zavolane. a nemuzu za boha prijit jak tohle rozlousknout.
potrebuju proste zjistit odkud to bylo zavolane
ucelem je abych zjistil z jake url adresy byl volan kod uvedeny u registrace.php.
snazil sem se pouzivat beznej referer ale ten nefunguje.
znate nějáké řešení? (čistě php)
za Vaše odpovědi a nápady na řešení děkuji.
Referer obsahuje pouze adresu stránky, ze které bylo na script odkázáno. Vám by nejšpíš pomohlo $_SERVER["REMOTE_ADDR"].
mi povi pouze IP adresu stroje ktery pristupoval k te adrese. nikoliv url ci jmeno domeny ze ktere to bylo.
To zjistit nelze. Když ti přijde TCP spojení, tak v něm je prostě jen informace o IP adrese a TCP portu. Adresu skriptu by sis tam musel předávat nějak sám, třeba v dalším parametru.
Maximálně bys mohl zkusit ident, ten by ti mohl prozradit, pod kterým uživatelem je ten připojující se skript spuštěn. Pokud je na tom stroji ident vůbec provozován.
Za tímto účelem se používá referer? Za jakým účelem? Referer se posílá, když na stránce A kliknu na odkaz na B, tak se pošle v požadavku, že jsem přišel z A. Jakou hlavičku poslat, když jsem PHP skript, nikde jsem nebyl a jen tak si chci něco odněkud stáhnout, to fakt netuším, ale referer k tomu rozhodně neslouží.
Když si stahuju něco wgetem nebo PHP skriptem ručně spuštěným v CLI, tak se v refereru podle vás posílá nebo má posílat jako co - můj login, nebo snad aktuální adresář? Je to stejný nesmysl.
Já si za svou odpovědí stojím a posílání nějakého misinterpretovaného refereru je součástí onoho "předávat nějak sám, třeba v dalším parametru".
bud to hlavicku neposila nebo to taky delam spatne ....
curl_setopt($ch, CURLOPT_REFERER, "http://www.example.com/");
dostanu vzdy informace od scriptu ktery je vykonavany, nikoliv o scriptu ktery tento script volá (registrace.php).
v podstate pomoci $_SERVER se da zjisti jen uzitecna vec a to je IP adresa stroje ze ktereho jde ten pozadavek. nic vic.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.