PHP shell_exec funkcija: izvršite vanjsku naredbu

Gotovo svi programski jezici uključuju mogućnost pokretanja vanjskog koda ili komandnog ljuske operacijskog sustava. Prisutnost takve mogućnosti smatra se pravilom pristojnosti i pune funkcionalnosti jezika. Korištenje takve mogućnosti smatra se sigurnosnom prijetnjom i nedostatkom pune funkcionalnosti programa pisanog na jeziku. PHP daje programeru mogućnost pokretanja vanjske naredbe i osigurava prijenos rezultata izvođenja u varijablu u obliku teksta.

Radno okruženje i vanjski tim

Izbor nije osobito velik, ali raznovrsnost opcija može dovesti do slijepe ulice. Ako poslužitelj s PHP-om izvodi Windows, tada neće biti posebnih nepredviđenih situacija. U obitelji Linuxxoids moguće su različite nesigurnosti.


U svakom slučaju, pokretanje vanjskog koda je prijetnja. Stoga je korištenje PHP shell_exec () funkcije dobro promišljeno i dobro promišljeno rješenje. Tipično, svrha korištenja takve mogućnosti je povremeno pokretanje vanjske aplikacije koja prikuplja informacije i premješta ih u mape web resursa. Često korišteni vanjski kod za prijenos statistike web-lokacije, financijskog izvješća itd. Postoji mnogo opcija kada upravljanje web-resursom zahtijeva "vanjsku pomoć", ali uglavnom kada se bilo koji kontakt s "vanjskim okruženjem" provodi sam, bez korištenja PHP shell_exec ().

Sintaksa i logika korištenja

PozivVanjski kod se izvršava dodjeljivanjem rezultata pozivanja funkcije shell_exec () varijable.
U ovom slučaju, Apache & amp; PHP instaliran na računalu sa sustavom Windows 10. Problemi s ćiriličnim pismom pojavili su se odmah, a odstupanja u izlaznim tokovima naredbe operativnom sustavu normalnog toka, opaženog u pregledniku. Da biste ispravno prikazali izlaz, trebate analizirati funkciju shell_exec (). U PHP-u primjeri testiranja trebaju biti što je moguće rigorozniji kako bi se postigla sigurna uporaba.
Svaki operativni sustav dopušta formiranje naredbenog retka, kada se zapisuje po nekoliko naredbi po retku. Funkcija shell_exec omogućuje korištenje takve naredbene linije. U svim slučajevima, uporaba funkcije treba uključivati ​​skup testnih slučajeva na kojima se provjerava sigurnost korištenja pristupa operativnom sustavu.

Povezane publikacije