cniry 0 Odesláno: 1. Leden, 2009 Share Odesláno: 1. Leden, 2009 Dnes se dostaneme k řešení problému, který mnoho z vás (když se zadaří) nikdy řešit nebude muset. Stále více lidí mi píše, že jim phpfusion, phpbb, nebo jiný przniscript píše u návštěvníků IP adresu 127.0.0.1. Tento problém nastává u podřadných scriptů, u nichž autoři nepředpovídali, že může ležet za proxy serverem. Tento problém je i na CRY.cz, jak si můžete všimnout na http://phpinfo.cry.cz Když dadáte do prohlížeče adresu http://cry.cz:80 , což je normální port webu, ale web skutečně jede na portu jiném. Například http://mysql.cry.cz:60002/ Je to hlavně kvůli bezpečnosti. Ale jak vyřešit onen problém s tím, že $_SERVER['REMOTE_ADDR'] neobsahuje naši IP adresu a script to neví? Otevřete si hlavní konfigurační soubor (většinou config.php, nastaveni.php atp.) a vložte do něj následující řádek: include "/my/ip"; s tím, že /my/ip je obyčejný script s tímhle kódem (na cry.cz soubor existuje v každém účtu, nejde smazat takže stačí jen onen include): <?php function ip() { if($_SERVER['REMOTE_ADDR']!="127.0.0.1") { return $_SERVER['REMOTE_ADDR']; } else { return $_SERVER['HTTP_X_REAL_IP']; } } $_SERVER['REMOTE_ADDR'] = ip(); $_REMOTE_ADDR = ip(); ?> Jak vidíte, script zkontroluje, jestli $_SERVER['REMOTE_ADDR'] neobsahuje IP adresu 127.0.0.1 a pokud ano, naplní ho skutečnou IP adresou návštěvníka ( $_SERVER['HTTP_X_REAL_IP'] ). Přehled všech proměnných $_SERVER si můžete prohlédnout na http://phpmyadmin.cry.cz , nebo si vytvořit script, který vám to samé vypíše: <?php phpinfo(); ?> Není to nic těžkého a tímto malým includem naučíte script tomu, čemu ho jeho vlastní autor naučit zapoměl. Link to comment Share on other sites More sharing options...
Daw3 0 Odesláno: 1. Leden, 2009 Share Odesláno: 1. Leden, 2009 Toto je supr! Hned to cpu na web Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now