Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Jak wywołać komendę w konsoli na stronie www?


Rekomendowane odpowiedzi

Opublikowano

W js nie próbuj tego robić, ponieważ użytkownik może sam sobie te komende po prostu podmienić jak js ci puści takie coś. Najlepiej takie coś zrobic w php, pythonie


Tak by to wyglądało w php.

<form method="post">
    <input type="submit" name="test" id="test" value="RUN" /><br/>
</form>

<?php
    if(array_key_exists('test', $_POST)){
      	$output = shell_exec('ls -lart');
      
		echo "<pre>$output</pre>";
    }
?>

 

Opublikowano
6 minut temu, _sectasy napisał:

W js nie próbuj tego robić, ponieważ użytkownik może sam sobie te komende po prostu podmienić jak js ci puści takie coś. Najlepiej takie coś zrobic w php, pythonie


Tak by to wyglądało w php.


<form method="post">
    <input type="submit" name="test" id="test" value="RUN" /><br/>
</form>

<?php
    if(array_key_exists('test', $_POST)){
      	$output = shell_exec('ls -lart');
      
		echo "<pre>$output</pre>";
    }
?>

 

Dziękuję za odpowiedź! A wyjaśnisz linia po linii jak to akurat zadziała na konsoli mojego serwera? Tylko te 3 linie zamknięte w tagach php 🙂

Opublikowano
<?php
	# Jeśli klucz o nazwie 'test' istnieje w zmiennej post (specjalna zmienna, która trzyma dane wysłane metodą post, czyli niejawną)
    if(array_key_exists('test', $_POST)){
      	# Wykonaj komende i zapisz jej stan do zmiennej output
      	# w '  ' wpisujesz swoją komendę
      	$output = shell_exec('ls -lart');
      
	echo "<pre>$output</pre>"; # Wyświetla na stronie wynik tej komendy, nie musi tego być
    }
?>

Proszę bardzo

Opublikowano

Dzięki, a wcześniej nie powinno być jakiegoś połączenia między stroną a serwerem?

27 minut temu, _sectasy napisał:

<?php
	# Jeśli klucz o nazwie 'test' istnieje w zmiennej post (specjalna zmienna, która trzyma dane wysłane metodą post, czyli niejawną)
    if(array_key_exists('test', $_POST)){
      	# Wykonaj komende i zapisz jej stan do zmiennej output
      	# w '  ' wpisujesz swoją komendę
      	$output = shell_exec('ls -lart');
      
	echo "<pre>$output</pre>"; # Wyświetla na stronie wynik tej komendy, nie musi tego być
    }
?>

Proszę bardzo

Dzięki, a wcześniej nie powinno być jakiegoś połączenia między stroną a serwerem?

Opublikowano
27 minut temu, Refilcraft napisał:

Dzięki, a wcześniej nie powinno być jakiegoś połączenia między stroną a serwerem?

Dzięki, a wcześniej nie powinno być jakiegoś połączenia między stroną a serwerem?

Chodziło ci o komendę w konsoli? myślałem, że ogólnie na serwerze na maszynie.

A to do takich rzeczy potrzebujesz połączyć się na porcie rcon z serwerem

 

Możesz uzyć tej libki, najlepiej by było - wszystko jak to zrobić jest opisane na repozytorium

https://github.com/thedudeguy/PHP-Minecraft-Rcon

 

Jest to na tyle proste, że chyba nie trzeba wyjaśniać tego kodu, w razie problemów to pisz

Opublikowano
2 minuty temu, _sectasy napisał:

Chodziło ci o komendę w konsoli? myślałem, że ogólnie na serwerze na maszynie.

A to do takich rzeczy potrzebujesz połączyć się na porcie rcon z serwerem

 

Możesz uzyć tej libki, najlepiej by było - wszystko jak to zrobić jest opisane na repozytorium

https://github.com/thedudeguy/PHP-Minecraft-Rcon

 

Heh no to się nie zrozumieliśmy 😄

 

$host = 'some.minecraftserver.com'; // Server host name or IP
$port = 25575;                      // Port rcon is listening on
$password = 'server-rcon-password'; // rcon.password setting set in server.properties
$timeout = 3;                       // How long to timeout.

use Thedudeguy\Rcon;

$rcon = new Rcon($host, $port, $password, $timeout);

if ($rcon->connect())
{
  $rcon->sendCommand("say Hello World!");
}

Czyli takie coś, po uzupełnieniu danych, wywoła u mnie na świecie komendę /say Hello World ?

Opublikowano
Przed chwilą, Refilcraft napisał:

Heh no to się nie zrozumieliśmy 😄

 


$host = 'some.minecraftserver.com'; // Server host name or IP
$port = 25575;                      // Port rcon is listening on
$password = 'server-rcon-password'; // rcon.password setting set in server.properties
$timeout = 3;                       // How long to timeout.

use Thedudeguy\Rcon;

$rcon = new Rcon($host, $port, $password, $timeout);

if ($rcon->connect())
{
  $rcon->sendCommand("say Hello World!");
}

Czyli takie coś, po uzupełnieniu danych, wywoła u mnie na świecie komendę /say Hello World ?

Tak, zgadza się aczkolwiek wrzuć to w tego ifa co wcześniej tobie napisałem zamiast tego co tam siedzi w środku. Wtedy będzie działać tak jak tego oczekujesz.

  • Yaboku zablokował(a) ten temat

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...