Voiko PHP:ssä kutsua toista ohjelmaa, joka on koodattu esim. C:llä? Eli ohjelmien pitäisi keskustella keskenään siten, että C-ohjelma tekisi jotain ja lähettäisi dataa PHP-skriptille, joka sitten tekisi tarvittavat temput datalle.
includella tuo kutsuminen varmaan onnistuu, mutta entäpä sen ohjelman antaman datan vastaanotto?
includella tuo kutsuminen varmaan onnistuu, mutta entäpä sen ohjelman antaman datan vastaanotto?
Vastaukset 4
Vanhimmat
eli käyttäjä voisi lähettää palvelimelle jonkun
vaikka C-pahiksen ja käynnistää sen PHP:llä...
Huh.
Ei taida onnistua...
PHP tietty voi kutsua toista PHP:tä.
ongelma, että miten sen pahiksen saa sinne palvelimelle ja miten saa ajettua sitten omaa php-koodia siellä?
exec on koento jolla voi ajaa
http://fi2.php.net/exec
tai system
ongelma?
ihan FTP:llä menee mikä tahansa binääri palvelimelle
kuin palvelimelle.
Ja php hyrähtää käyntiin ihan nimellä.
Olethan tietoinen, että PHP:ssä voi estää tiettyjen functioiden toiminnan ja nuo exec... functiothan on yleensä estetty näissä perus web-hotelli paketeissa, sekä käyttöoikeuksilla pystyy määrittää mitä C ohjelma voi tehdä, joten periaatteessa niillä pystyy tekemään vain saman mitä PHP:llä. Tietenkin tietoturvan kanssa tulee ongelmia, jos root tunnus on PHP:llä käytössä. Joten eipä nuo periaatteessa ole sen vaarallisempia kuin include functio.
Mut yleisessä käytössä nuo exec ja vastaavat functiot ovat, varsinkin dedikoituja... palvelimia käytettäessä. PHP kun on scriptaus kieli joten se on huomattavasti hitaampi kuin esim C/C , siksi monissa palveluissa taustalla on jotain muutakin kuin PHP:tä-