[PHP] problem ze skryptem

Problemy związane ze stronami PHP

[PHP] problem ze skryptem

Postprzez marek » Wt maja 22, 07 18:43

pewien skrypt działa u mnie na lokalnym serwerze a nie działa po wysłaniu na serwer ugu.pl

oto kod:
Kod: Zaznacz cały
<?php
$adres='http://pogoda.interia.pl/miasta?id=11699';
$strona=file_get_contents($adres);
$adres=substr($adres, 0, 24);

$temperatura_odleglosc=strpos($strona, '<span class="tex2B"  style="font-size:14px;">');
$temperatura=substr($strona, $temperatura_odleglosc, 47);

$obrazek_odleglosc=strpos($strona, '/img/ikony/');
$obrazek_link=$adres.substr($strona, $obrazek_odleglosc, 23);
$obrazek='<img src="'.$obrazek_link.'" alt="Pogoda" />';

$tresc.='Temperatura: '.$temperatura.'°C<br />';
$tresc.=$obrazek;
?>


wyświetla się ostrzeżenie:
Kod: Zaznacz cały
Warning: file_get_contents() [function.file-get-contents]: URL file-access is disabled in the server configuration in /virtual/m/a/marek.ugu.pl/pogoda.php on line 3

Warning: file_get_contents(http://pogoda.interia.pl/miasta?id=11699) [function.file-get-contents]: failed to open stream: no suitable wrapper could be found in /virtual/m/a/marek.ugu.pl/pogoda.php on line 3


Czy ktoś wie o co może chodzić?
marek
 
Posty: 7
Dołączył(a): Pt maja 18, 07 19:29

Postprzez ziommek » Wt maja 22, 07 19:34

No ja tam nie wiem co jest nie tak ale też mi podobny błąd mi wyskoczył przy jednym skrypcie...
ziommek
 
Posty: 102
Dołączył(a): Wt maja 22, 07 00:09

Postprzez Neo » Wt maja 22, 07 19:51

Z tego co widzę, i przeczuwam może być błąd w tej linijce:
Kod: Zaznacz cały
$strona=file_get_contents($adres);
$adres=substr($adres, 0, 24);
Avatar użytkownika
Neo
 
Posty: 762
Dołączył(a): Pt kwi 06, 07 11:37
Lokalizacja: Bydgoszcz

Postprzez marek » Wt maja 22, 07 22:12

Neo napisał(a):Z tego co widzę, i przeczuwam może być błąd w tej linijce:
Kod: Zaznacz cały
$strona=file_get_contents($adres);
$adres=substr($adres, 0, 24);


też wydaje mi się że błąd generuje ta linijka ale wina prawdzopodobnie leży po stronie serwera

obie funkcje są użyte zgodnie z prototypem w manualu
http://pl2.php.net/file_get_contents
http://pl2.php.net/manual/pl/function.substr.php

co więcej działają lokalnie(Apache 2.055/PHP 5.1.4) więc błąd w kodzie wykluczam, wydaje mi się że jest błąd albo ograniczenie w konfiguracji serwera lub używana jest wcześniejsza wersja Apacha lub PHP
marek
 
Posty: 7
Dołączył(a): Pt maja 18, 07 19:29

Postprzez ugu » Wt maja 22, 07 22:36

Nie ma możliwości ładowania zdalnych plików. Blokada jest włączona ze względów bezpieczeństwa.

Jeżeli przedstawicie dobre argumenty za włączeniem tej funkcji to rozważę taką możliwość.
ugu
Site Admin
 
Posty: 766
Dołączył(a): So lut 10, 07 22:20

Postprzez marek » Śr maja 23, 07 09:35

W sumie to na bezpieczeństwie serwerów w ogóle się nie znam :mrgreen: , więc żadnego argumentu(oprócz tego, że czasem się to przydaje) nie podam. Może mógłbyś podać jakiegoś linka do artkułu gdzie są zagrożenia wnikające z ładowania zewnętrznych plików?
marek
 
Posty: 7
Dołączył(a): Pt maja 18, 07 19:29

Postprzez ugu » Śr maja 23, 07 09:42

Nie jestem w stanie podać linku ponieważ nigdy nie spotkałem sie z takim artykułem.
Wiem to z doświadczenia, czyli jak potrafię sam wykorzystać taką funkcję to inni tez potrafią.
Pracuję nad kilkoma łatkami dla php aby była możliwość włączenia tej funkcji, jednak trochę to potrwa, ma to dość niski priorytet.
ugu
Site Admin
 
Posty: 766
Dołączył(a): So lut 10, 07 22:20

Postprzez Mattrick » Cz maja 24, 07 16:14

Na przykład
file_get_contents(../../password.txt);

Oczywiście to tylko przykład, ale da się łatwo znaleźć plik konfiguracyjny i tą funkcją wyświetlić jego zawartość (innymi sposobami dostaniesz error bodaj 403).
Mattrick
 
Posty: 48
Dołączył(a): N kwi 08, 07 18:54

Postprzez marek » Cz maja 24, 07 23:05

Mattrick napisał(a):Na przykład
file_get_contents(../../password.txt);


niezłe, muszę gdzieś to wyprobować :twisted:
marek
 
Posty: 7
Dołączył(a): Pt maja 18, 07 19:29


Powrót do PHP

Copyright © 2007-2011 ugu.pl
Wszelkie prawa zastrzeżone.
Polityka prywatności