anoance Posted August 26, 2010 Report Share Posted August 26, 2010 Sveiki, vēlējos pajautāt kā lai taisa skritpu, paredzēts cs serveru ieslēgšanai izslēgšanai, caur webu un darbojas uz linux. reāli ņemot kods ir: <?php system("/mape/uz/failu/fails.sh start"); // var izmantot start / stop / restart ?> Man uzrāda ka viss ir aizgājis, taču putty uztaisi screen -x un neviens serveris klāt nav pieslēdzies. Lasīju visādus veidus, bet neko neatradu, varūt jūs varētu palīdzēt Un vēl interesējos vai nevarat mazu pamācību sniegt kā uztaisīt cw sistēmu - ko līdzīgu kā dyc / sms.h2 . Tikai man nekas ar sms sistēmu nebūtu vajadzīgs, vēlos piedāvā kā bezmaksas pakalpojumu. Link to comment Share on other sites More sharing options...
vincister Posted August 26, 2010 Report Share Posted August 26, 2010 Pamēģini to serveri palaist ar to skriptu tāpat, ļoti ticams, ka patiesībā nekas nepalaižas. Link to comment Share on other sites More sharing options...
anoance Posted August 26, 2010 Author Report Share Posted August 26, 2010 nu caur putty es visu laiku viņu izmantoju un nav nekādu prblēmu. vienkārši ja nemaldos php failā kas pietrūkst, itkai neiznu kas, jeb system vietā jāizmanto ko citu. Link to comment Share on other sites More sharing options...
vincister Posted August 26, 2010 Report Share Posted August 26, 2010 Nē, system() ir īstā funkcija. Lietotājam "web" izpildīšanas tiesības tam failam ir? Link to comment Share on other sites More sharing options...
BOT^a Posted August 26, 2010 Report Share Posted August 26, 2010 (edited) uz linux web serverim(vai arii lietotaajam ar kaadu griezhas vhosts) jaiedod bash tiesiibas, bet taadaa veidaa ir risks, ka varees chakareet sisteemu caur shell ja uzkackos p.s. mans risinajaums būtu iechekot http://php.net/manual/en/book.ssh2.php Edited August 26, 2010 by BOT^a Link to comment Share on other sites More sharing options...
anoance Posted August 26, 2010 Author Report Share Posted August 26, 2010 (edited) kā izprast web tiesības? kāda komanda būtu - bash tiesībām? Nu reāli mana kaste tāpat nav nodrošināta pret shell un varbūt kāds varat pateikt ērtāko un bezmaksas variantu. Man doma bija likt Zend optimizer, jeb kādu citu progu kas lasa phpfailus un neļauj izmantot nepareizus kodus, bet nezinu kas būtu labākais variants!? skatos tgd šito: p.s. mans risinajaums būtu iechekot http://php.net/manual/en/book.ssh2.php <?php $connection = ssh2_connect("hostname", 22); // use any of the ssh2_auth_* methods ssh2_auth_password($connection,"username", "password"); $sftp = ssh2_sftp($connection); $dir = "ssh2.sftp://$sftp/path/to/dir/"; $dh = opendir($dir); while (($file = readdir($dh)) !== false) { echo "$file is in hostname:/path/to/dir\ n"; } closedir($dh); ?> tas būtu tā, kad es caur ftp useri pieslēdzos? Edited August 26, 2010 by anoance Link to comment Share on other sites More sharing options...
BOT^a Posted August 26, 2010 Report Share Posted August 26, 2010 (edited) liekas ka tu "LJOTI" labi izproti kam ir domaats Zend Optimizer toolis zem kaada user:group tu startee apaci/lighttpd/nginx vai arii dajebkaadu citu web servera projektu? vai sekojoshais domeens/subdomeens tiek adreseets ar vhosts palidiziibu un/vai suexec? eeeediiiits: Tu maz zini kas ir ssh? http://en.wikipedia.org/wiki/Secure_Shell ja draudzeejies ar putiju tad vajadzeetu zinaat Edited August 26, 2010 by BOT^a Link to comment Share on other sites More sharing options...
anoance Posted August 26, 2010 Author Report Share Posted August 26, 2010 labi tad mby kur esu kļūdījies. ar root. izmantoju vhostu. un man ir etc/init.d/lighttpd tad vari izskaidrot kas tas ir? Link to comment Share on other sites More sharing options...
BOT^a Posted August 26, 2010 Report Share Posted August 26, 2010 (edited) sameklee ssh2 klasi vai uztasii pats <? include 'ssdh2.php'; $php_ssh2 = new SSH2('127.0.0.1'); $php_ssh2->authPassword('root', 'rootparole'); echo $php_ssh2->cmdExec('lsb_release -a'); echo $php_ssh2->getLog(); ?> Edited August 26, 2010 by BOT^a Link to comment Share on other sites More sharing options...
worm Posted August 26, 2010 Report Share Posted August 26, 2010 jebkas, ko var šādi izpildīt caur ssh ir absolūti insekjūri... labāks variants: 1. web daļā uztaisi formu ar pogu 'Start server', kuru nospiežot datubāzē tiek ierakstīts kaut kāds variablis (nu piemērām 'start_server = 1') 2. uztaisi vēl vienu php skriptu, kas nav pieejams caur webu, kas savukārt nolasa datubāzi un skatās vai tur nav iebāzts variablis start_server... attiecīgi, ja ir, tad tiek palaists system(...) 3. šo skriptu ieliec iekš crontaba, lai viņš tiek palaists katru minūti. Šādā variantā var likt skriptu arī zem root jūzera, jo tev jau ir predefinēta komanda ko tu laid un neko injektēt nevar caur system() funkciju... vismaz tā griežas gignam CW serveri un nekādu problēmu Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now