Witam.
Mam dwa serwery
Teraz robie strone na serwerze a.pl
index.php i w indexie wpisuje
include_once('http://b.pl/skrypt.php');
U mnie nie wysweitla tego pliku.
Da sie jakos umozliwic podczepianie skryptow?
Witam.
Mam dwa serwery
Teraz robie strone na serwerze a.pl
index.php i w indexie wpisuje
include_once('http://b.pl/skrypt.php');
U mnie nie wysweitla tego pliku.
Da sie jakos umozliwic podczepianie skryptow?
Ale ale..
a) Chcesz odpalić na serwerze A skrypt, który znajduje się na serwerze B
b) Chcesz wstawić wynik działania skryptu z serwera B tak aby znajdował się na stronie A?
Oba wymagają ustawienia allow_url_fopen na On. Opcja a) wymaga dodatkowo aby serwer B nie wykonywał skryptu po swojej stronie a jedynie serwował jego treść jako zwykły plik tekstowy.
Nie widzę sensu takiego rozwiązania, no ale... Na serwerze #B zrób sobie plik:
noparse.php
if ($_GET['password'] != 'costam') exit('Invalid password.');
echo(file_get_contents($_GET['file']));
Potem dajesz:
<?php
include_once('http://b.pl/noparse.php?file=skrypt.php&password=costam');
?>
Jeśli nie masz dostępu do serwera #B to możesz pomarzyć o zobaczeniu kodu PHP jakiegokolwiek pliku na tym serwerze.
Potrzebna mi wersja B chce pobrac jakby zawartosc skryptu z serwera B
i dopiero po INCLUDE zeby ten kod sie wykonal na moim serwerze.
to mam uzyc FOPEN ?
No to zrób tak jak napisałem w poście wyżej. Zadziała jak masz w php.ini allow_url_fopen ustawione na 1.
NIestety z kodu powyzej nie dziala bo jesli wstawie ten link do adresu to dziala ale jesli uzyje INCLUDE to nie dziala sprawdze czy mam allow_url:
edit: ma tak
DIrective Local Master
allow_url_fopen:On:On
allow_url_include:Off:Off
Czyli musze uzyc zdalengo fopen chyba :(
No to ustaw include na On:On.
Obczaj tak:
na B ten skrypt, ktory ma byc wykonany na A zapisz do pliku txt, zeby sie nie wykonal.
$file = fopen("http://B.pl/skrypt.txt", "r");
$skrypt = fread($file, filesize("http://B.pl/skrypt.txt"));
eval($skrypt);
Funkcja eval się nigdy zbyt wiele nie bawiłem, do prostych skryptów to się pewnie nadaje, ale jeślibyś chciał tak sobie importować np. Zend Framework, to raczej nie zadziała ;-).
zeby sie nie wykonal
Toż po to jest to:
if ($_GET['password'] != 'costam') exit('Invalid password.');
echo(file_get_contents($_GET['file']));
Poza tym bezpieczniej niż w .txt.
I czemu eval() nie wywoła skomplikowanych skryptów? Imo to działa tak jak include - wrzuca w dane miejsce skryptu podany kod.
Demonical Monk napisał(a)
Toż po to jest to:
if ($_GET['password'] != 'costam') exit('Invalid password.');
echo(file_get_contents($_GET['file']));
Poza tym bezpieczniej niż w .txt.
Pardon, nie przyjrzałem się [soczek] . A co do eval, jeśli będzie działało to super, ale mam przypuszczenia że ta funkcja jest skaszaniona ;-). Ot, taka intuicja.
Zawsze można zapisać jako plik i includować.
EDIT:
Okazuje sie ze tak:
Na serwerze A mam parametry na OFF w include i w fopen i nie moge zmienic bo to admin sie nie zgodzi
Na serwerze B mam parametry OFF na include i ON fopen
Wiec zamienilem pliki i dziala ale:
Dziekuje za pomoc heh musze z adminem pogadac czy da sie to wlaczyc
Pozdrawiam