Jak povolím PHP funkce shell_exec, passthru, system a exec v HestiaCP?

Při používání HestiaCP ke správě serveru může být někdy nutné povolit některé funkce PHP, které jsou ve výchozím nastavení zakázány, například shell_exec, passthru, system a exec.

Tyto funkce jsou velmi výkonné, ale představují také určitá bezpečnostní rizika, proto se před jejich povolením ujistěte, že je prostředí vašeho serveru zabezpečené a umožňuje přístup pouze důvěryhodným uživatelům.

Proč musím povolit tyto funkce PHP?

Tyto funkce jsou v určitých situacích velmi užitečné.

Tyto funkce jsou například nezbytné, když potřebujete povolit určité pluginy WordPressu nebo když potřebujete na serveru spustit systémové příkazy.

Tyto funkce však také představují potenciální bezpečnostní rizika.

Nesprávné použití může vést k útokům na server, proto prosím postupujte opatrně.

Upravte soubor php.ini

Chcete-li tyto funkce povolit, musíte nejprve upravit soubor php.ini.

Toto je konfigurační soubor PHP, který řídí různá nastavení PHP.

Jak povolím PHP funkce shell_exec, passthru, system a exec v HestiaCP?

Krok 1: Najděte soubor php.ini

V HestiaCP můžete najít a upravit soubor php.ini pomocí následující cesty:

  1. Vstupte do ovládacího panelu HestiaCP.
  2. Přejděte do nastavení serveru.
  3. Klikněte na Upravit službu PHP (ikona tužky se zobrazí, když najedete na název služby).
  4. Vyberte pokročilé možnosti.

Zde můžete upravit soubor php.ini.

Krok 2: Upravte nastavení disable_functions

V souboru php.ini je nastavení nazvané disable_functions.

Toto nastavení definuje, které funkce PHP jsou zakázány.

Chcete-li povolit shell_exec, passthru, system a exec, musíte je odebrat ze seznamu disable_functions.

Nastavení Disable_functions před úpravou:

disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,exec,system,passthru,shell_exec,proc_open,popen

V této konfiguraci jsou shell_exec, passthru, system a exec zakázány.

Upravená nastavení disable_functions:

disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,proc_open,popen

V této konfiguraci byly odstraněny funkce shell_exec, passthru, system a exec, čímž jsou tyto funkce povoleny.

Krok 3: Uložte změny

Po dokončení úprav uložte soubor php.ini.

Ujistěte se, že jsou všechny změny správně uloženy, aby bylo možné použít novou konfiguraci.

Restartujte službu PHP

Po úpravě a uložení souboru php.ini je třeba restartovat službu PHP, aby se změny projevily.

Službu PHP můžete restartovat podle následujících kroků:

  1. Vraťte se na ovládací panel HestiaCP.
  2. Přejděte do nastavení serveru.
  3. Vyberte službu PHP a klikněte na Restartovat.

Ověřte konfiguraci

Po restartování služby PHP můžete ověřit, že jsou tyto funkce povoleny, spuštěním jednoduchého PHP skriptu.

Můžete například vytvořit soubor PHP s následujícím obsahem:

<?php
echo shell_exec('echo Hello World');

Poté přistupte k souboru přes prohlížeč. Pokud je výstup "Hello World", znamená to, že funkce shell_exec byla povolena.

Bezpečnostní poradenství

Přestože jsou tyto funkce povoleny, buďte opatrní.

Ujistěte se, že je váš server zabezpečený a že k těmto funkcím mají přístup pouze důvěryhodní uživatelé.

Pravidelně aktualizujte software serveru a používejte silná hesla a další bezpečnostní opatření k ochraně serveru.

总结

Tento článek vysvětluje, jak povolit PHP funkce shell_exec, passthru, system a exec v HestiaCP.

I když jsou tyto funkce velmi výkonné, představují také bezpečnostní rizika.

Při povolování těchto funkcí se proto ujistěte, že je váš server zabezpečený a umožňuje přístup pouze důvěryhodným uživatelům.

Doufám, že vám tento článek může být užitečný, pokud máte nějaké dotazy, neváhejte mě kontaktovat!

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

Přejděte na začátek