calebr
29.03.2003, 21:46:06
Czesc,
chodzi mi o funkcje include. Jest server A i B. Na A znajduje sie strona, ktora korzysta z pewnych zmiennych, ktore zapisane sa na serverze B. Sa tam tez polecenia np. unlink itd. Includuje ta strone, ale polecenia jakie sa w niej zapisane wykonuja sie na serverze B a nie A. Czemu tak sie dzieje? Co zrobic aby tak nie bylo? Pomijam wzgledy bezpieczenstwa, odnosnie includowania plikow php, w dodatku spoza jednego servera.
DeyV
29.03.2003, 22:04:43
Cytat
Jeśli "URL fopen wrappers" są włączone w php (takie jest domyślne ustawienie) można podać nazwę pliku do wczytania używając adresu URL (przez protokół HTTP lub innym obsługiwanym sposobem - zajrzyj do Dodatek I aby zapoznać się z listą obsługiwanych protokołów), zamiast podawać ścieżkę lokalną. Jeśli podany w adresie serwer interpretuje plik docelowy jako kod php, można do tego skryptu przekazać zmienne w taki sam sposób jak przy metodzie GET protokołu HTTP. Ściśle mówiąc, nie jest to to samo, co wczytywanie pliku lokalnego; jest to wykonanie pliku na zdalnym serwerze i wklejenie rezultatu jego działania do skryptu wywołującego. W tym przypadku, rzecz jasna, zasięg globalny zmiennych nie obejmuje pliku wczytywanego tą metodą
lisu
31.03.2003, 12:56:57
Musisz po prostu zmienic rozszerzenie includowanego skryptu na serwerze B na takie ktore nie jest interpretowane przez serwer B. np plik.dat