Autor Zpráva
opsidiam
Profil
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
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;
?>
ale nechce to fungovat lebo vraj niesom prihlaseny a po pri tom som
Mike8748
Profil
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
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
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
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ť.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: