LiveHelp (Live Help) |
0733 377 977 (L-V: 09-17)

Home Page > Intrebari Frecvente Hosting > Scripturi > functii oprite


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?

Favorit Favorit    Tipareste Tipareste

Cititi si
Probleme Frecvente Joomla (afisari: 2015)
Scripturi Interzise (afisari: 2529)