zabezpečení pro cron na sdíleném hostingu

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Ivorius
Nette Blogger | 119
+
0
-

Neměl by někdo nápad, jak zabezpečit provedení cron úlohy na webhostingu?

Bohužel nemám možnost použit CLI – není na hostingu. Nicméně nerad bych, aby mi ten cron zbytečně spouštěl třeba nějaký robot z netu a zbytečně tak zatěžoval DB – jedná se o export dat do xml.

s4muel
Člen | 92
+
0
-

ak sa ti to spusta cronom z rovnakeho servera, tak sa da pouzit napr. nieco taketo:

if ($_SERVER['REMOTE_ADDR'] != $_SERVER['SERVER_ADDR']){
	//zobrazit hlasku, redirect, ignorovat...
	exit;
}
llook
Člen | 407
+
0
-

Podle IP adresy je jedna možnost (pokud je spouštěný ze stejného servera, tak to ale asi nebude $_SERVER['SERVER_ADDR'], ale 127.0.0.1).

Pokud hosting nemůže zaručit spouštění vždy ze stejné IP adresy (třeba na Wedosu), tak prostě ta úloha musí mít neuhádnutelné URL a nikde se na něj nesmí odkazovat. Například můžeš akci přidat nějaký kontrolní parametr, bez kterého se nespustí:

public function actionDefault($key)
{
	if ($key !== 'nějaký náhodný shluk znaků')
	{
		$this->error('Špatný kontrolní kód', 403);
	}
	...
}
Ivorius
Nette Blogger | 119
+
0
-

@Ilook – ten hash mě také napadl, ale není to zrovna to v co jsem doufal :).

Zkoušel jsem si lognout ip adresu cronu a není to localhost, ale souhlasí se $_SERVER['SERVER_ADDR'] takže to asi využiji jak radil @s4muel

Díky. Pokud by ještě někoho něco napadlo tak sem s tím :D