Je potřeba speciální zabezpečení pro konzoli?
- MW
- Člen | 626
Zdravím a prosím o radu,
mám aplikaci, kde jsem si vytvořil CliModule, kde mám BasePresenter:
public function startup() {
parent::startup();
if (!$this->context->parameters['consoleMode']) {
throw new \Nette\Security\AuthenticationException;
}
}
V následném CliPresenteru mám různé metody, které spouštím na serveru CRONem nebo v případě potřeby přímo z aplikace :
exec("php index.php Cli:Cli:DailyMessages");
V routeru mám jen podmínku:
if ($this->container->parameters['consoleMode']) {
$router[] = new \Nette\Application\Routers\CliRouter(array('action' => 'Cli:Cli:cron'));
} else {
$router[] = new Route('<presenter>/<action>[/<id>]', array(
'module' => 'Ikonis',
'presenter' => 'Login',
'action' => 'default'
));
}
Zeptám se, je toto po stránce bezpečnosti v pořádku nebo je třeba něco upravit? Dosud běžela aplikace jen na intranetu, tak jsem to více neřešil, ale teď půjde ven, tak aby tam nebyla nějaká díra a někdo mě z venku nespouštěl skripty v CRONu :)
Předem moc díky
Editoval MW (1. 3. 2018 9:47)
- Felix
- Nette Core | 1247
Bohuzel si myslim, ze to zabezpecit moc nejde. Ovladat to muze jenom clovek, co ma pristup na server, takze nejaky token/heslo nema smysl. Maximalne me napada, nastavit prava ke spousteni php procesu. To by mohlo byt jedine.
Otazkou je, proc by jsi to chtel zabezpecovat? Hrozi tam neco?