Autor | Zpráva | ||
---|---|---|---|
opsidiam Profil |
#1 · Zasláno: 20. 6. 2014, 16:31:05 · Upravil/a: Moderátor (editace znemožněna) 20. 6. 2014, 20:14:14
prosim vas mam problem.
mam na crew.sk urebone servery a chcem ich ovladat cez môj web tlacidlamy a oni tam daly nejaky navod ale nerozumiem tomu ani za ***** Pre fungovanie vzdialeného ovládania si musíte nastaviť kľúč k serveru (hore). Táto funkcionalita je až do nastavenia hesla blokovaná a po jej aktivovaní ju môžete znova zablokovať kliknutím na vpravo hore. Ak už máte heslo nastavené, mali by ste v tabuľke status vidieť kolónku Aktívne (heslo existuje) , ak namiesto toho vidíte , heslo nie je nastavené a funkcionalita vzdialenej konzoly je zablokovaná. Použitie vzdialeného ovládania je jednoduché, stačí zavolať nasledovnú URL (najlepšie cez cURL alebo funkciu file_get_contents() v PHP): http://www.crew.sk/remote/console_execute/?server=ID&command=PRÍKAZ&hash=HASH ID - identifikátor servera, v tomto prípade to je 28387 PRÍKAZ - samotný príkaz, ktorý chcete odoslať do konzoly (ak obsahuje medzery, ošetrite ho funkciou urlencode()) HASH - kontrolný hash, získate ho tak, že zahashujete funkciou SHA-256 reťazec, ktorý vznikne spojením ID servera, príkazu, IP adresy servera z ktorého posielate požiadavku a hashu Vášho kľúča, ktorý získate zahashovaním rovnakou funkciou. V jazyku PHP by to vyzeralo nasledovne: $hash = hash("sha256", $id_servera.$prikaz.$ip_adresa.hash("sha256", $kluc)); kde kľúč je heslo, ktoré ste si nastavili vyššie. IP adresu môžete nastaviť fixne alebo získať v PHP cez premennú $ip_adresa = $_SERVER["SERVER_ADDR"]; Ako odpoveď vždy dostanete pole vo formáte JSON, ktoré sa skladá z 3 premenných: "success" odpoveď TRUE alebo FALSE, podľa toho, či sa podarilo príkaz vykonať "error" v prípade success FALSE sa v premennej error nachádza dôvod zlyhania: AUTHORIZATION_FAILED, COMMAND_MISSING, SERVER_ERROR "debug" v prípade chyby SERVER_ERROR tu nájdete odpoveď servera, ktorú potom môžete preskúmať za účelom vyriešenia problému Kto to pochopil tak by som bol veeeelmy vdacny keby mi to prelozil do PHP lebo som z toho magor dakujem pekne. |
||
opsidiam Profil |
#2 · Zasláno: 20. 6. 2014, 17:03:18 · Upravil/a: Moderátor (editace znemožněna) 20. 6. 2014, 20:15:47
Zatial som to skusil takto:
<?php $id_servera = "31.133.15.109:25585"; $prikaz = urlencode("say ahoj"); $ip_adresa = $_SERVER["SERVER_ADDR"]; $kluc = "ddfsfds45s456s46fsdfsf"; $id = "28387"; $hash = hash("sha256", $id_servera.$prikaz.$ip_adresa.hash("sha256", $kluc)); $go = "http://www.crew.sk/remote/console_execute/?server=".$id."&command=".$prikaz."&hash=".$hash; include $go; ?> |
||
Mike8748 Profil |
#3 · Zasláno: 20. 6. 2014, 17:43:23
opsidiam:
viz tvuj první příspěvek, $id_servera nema být IP adresa serveru ale ID serveru ID - identifikátor servera, v tomto prípade to je 28387 |
||
Kubo2 Profil |
#4 · Zasláno: 20. 6. 2014, 17:44:20
opsidiam:
Riadok #9: Namiesto include použi funkciu file_get_contents odporúčanú aj v uvedenom návode. Celý skript:
<?php $id_servera = "31.133.15.109:25585"; $prikaz = urlencode("say ahoj"); $ip_adresa = $_SERVER["SERVER_ADDR"]; $kluc = "ddfsfds45s456s46fsdfsf"; $id = "28387"; $hash = hash("sha256", $id_servera . $prikaz . $ip_adresa . hash("sha256", $kluc)); $go = "http://www.crew.sk/remote/console_execute/?server=$id&command=$prikaz&hash=$hash"; // získanie a prevod informácií získaných zo servera na natívne dátové typy $result = json_decode(file_get_contents($go)); // debugovací výpis informácií var_dump($result); |
||
opsidiam Profil |
#5 · Zasláno: 20. 6. 2014, 18:03:09
mike a kubo skusil som to co ste poradili a uz mi vipisuje nieto
object(stdClass)#2 (2) { ["status"]=> bool(false) ["error"]=> string(20) "AUTHORIZATION_FAILED" } |
||
Kubo2 Profil |
#6 · Zasláno: 22. 6. 2014, 21:41:45
opsidiam:
„AUTHORIZATION_FAILED“ Upravil si ten môj skript na základe rady Mika8748? Ja som ho totižto napísal a odoslal spamäti a chybne podľa [#2] ešte predtým, ako som si stihol všimnúť príspevok Mika8748. Takže po príslušnej úprave by ti to malo fungovať. |
||
Časová prodleva: 10 let
|
0