Intrebari Frecvente Hosting

functii oprite

allow_url_fopen a fost restrictionata pe toate serverele de hosting ale megahost.ro deoarece prezinta probleme de securitate, este destul de simplu pentru un utilizator neexperimentat sa deschida o gaura de securitate fara sa isi dea seama folosind incorect allow_url_fopen.

alternativa este folosirea cURL (PHP Client URL function) care este un mod mult mai eficient de a include resurse externe.

Folosirea cURL este similara cu folosirea functiei fopen() sau file_get_contents() in anumite privinte, daca sunteti obisnuiti sa folositi fopen() sau file_get_contents() va va fi usor sa incepeti sa folositi cURL.

Primul pas in folosirea cURL este initializarea sesiunii. Acest lucru se face definind o variabila si atribuindu-i o valoare prin functia curl_init ca in exemplul de mai jos:

 
$ch = curl_init("http://www.google.ro");
 

Dupa cum vedeti, curl_init preia parametrul URL-ului sau resursei externe pe care vreti sa o folositi. Acest lucru este optional insa daca nu specificati URL-ul acum, va trebui sa il specificati mai tarziu folosind functia curl_setopt. Acest lucru se poate face astfel:

 
curl_setopt($ch, CURLOPT_URL, "http://www.google.ro");

Sunt multe moduri in care cURL poate fi folosita dar una din cele mai comune metode este setarea doar a valorilor pentru CURLOPT_URL, CURLOPT_HEADER si CURLOPT_RETURNTRANSFER.

  • CURLOPT_URL, ca in exemplul de mai sus, seteaza URL-ul din care cURL va aduce informatii.
  • CURLOPT_HEADER o setare care poate fi true sau false si determina daca se vor include si headerele HTTP. Este recomandata setarea false.
  • CURLOPT_RETURNTRANSFER este de asemenea o setare ce poate avea valorile true sau false si care spune functiei curl_exec daca sa interpreteze sau nu continutul operatiunii cURL ca fiind un string.

Dupa ce s-au setat optiunile de mai sus, puteti folosi curl_exec care executa operatiunea cURL. Iata un mic script care foloseste informatiile prezentate mai sus pentru a aduce continutul paginii principale a Google:

 
// Definirea unei variabile pentru cURL.
$ch = curl_init("http://www.google.ro");
 
// Setarea optiunilor
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 
// Executa operatiunea
$output = curl_exec($ch);
 
// Inchidem sesiunea cURL.
curl_close($ch);

A se vedea ca am folosit curl_close la sfarsitul scriptului: daca sunteti obisnuiti sa folositi fclose atunci este bine sa folositi si curl_close.

Masura de securitate: nu permiteti niciodata ca valoarea CURLOPT_URL sa poata fi definita de utilizatori! Daca sunteti nevoiti totusi sa permiteti utilizatorilor sa specifice URL-ul pe care cURL il aduce atunci folositi htmlentities pentru a va asigura ca limbajul markup (codul HTML) nu poate fi executat !!

Acest articol v-a fost de folos?

 Tipareste

Cititi si

Probleme Frecvente Joomla

O problema des intalnita in Joomla este ca acest script creeaza/modifica fisiere si directoare in...

Minima securizare Joomla

Joomla este un CMS (Content Management System) foarte util, complex, scalabil, folosit de...

Pagini 404 not found, sfaturi utile

Ce este o pagina 404? Pagina 404 este o pagina web cautata si afisata automat de browserele web...

Optiunea FollowSymLinks nu functioneaza

Daca optiunea +FollowSymLinks folosita in fisierele .htaccess nu functioneaza cum trebuie sau...

functia PHP mail este activa? are limitari?

Functia php mail() este activa pe serverul de hosting insa va rugam sa va asigurati ca adresa de...