Dlhsiu dobu sa zamyslam nad cronom, v podstate neviem ako funguje. Predstavte si situaciu ze mam napr. hru a po kazdej hodine spustam script ktory prida do databaze kazdemu hracovi napr. peniaze. Ale otazka znie: moze hrac ist na nejaku adresu www.nieco.sk/cron.php a spustit script? V tom pripade sa kazdemu hracovi pridaju peniaze kolko krat budu chciet. Ako to vlastne funguje?
Cron, je linuxový démon (něco jako plánovač úloh ve Windows). Tudíž s ním můžeš spouštět prakticky cokoliv od PHP skriptů až po ...já nevím... vypnutí počítače. Tudíž to, že ti někdo poleze na stránku ti Cron neošetří, to už si musíš zařídit sám. Nástrojů k tomu máš dost...
Cron pracuje v pomoci příkazového řádku. Obsahuje soubor, kde jsou uvedeny příkazy, které se mají vykonat, a časy, kdy se maji vykonat.
Příkazem může být cokoli, co lze zadat v příkazové řádce.
V případě "webového cronu" se tedy v daném čase vykoná php skript. Bohužel php skript je všem viditelný a tudiž i spustitelný, takže může být kymkoli a kdykoli spuštěn.
Crona pro web nepoužívám, takže přesně nevím na čí straně je php skript spuštěn. Ale řekl bych, že na straně příkazového interpretu. To pak znamená, že můžeš tento skript zneviditelnit ostatním pomoci .htaccess, protože v tomto případě webserver ani není potřeba. Jestli využívá Apache, pak bys musel pomoci php zjistit, jaký klient to spustil.
<HTML>Klasický cron apache ke spouštění PHP skriptů nepoužívá (pokud nebyl uživatel lama a neřekl mu cosi jako wget localhost/...). Skript se tedy dá skrýt buď do nepřístupného adresáře, nebo .htaccessem znepřístupnit. Syntaxe záznamu v cronu obsahuje nejprve pět časových údajů (minuty, hodiny, den v měsíci, měsíc, den v týdnu - 0 je neděle, 1 pondělí atd.). Pokud na některém z těch údajů nezáleží, je na tom místě * (např. každé úterý ve 3 hodiny ráno se píše jako 0 3 * * 2, každé úterý a pátek ve 3: 0 3 * * 2,5; každý všední den v 7 a 16: 0 7,16 * * 1-5). Šestým parametrem je příkaz, který se má provést - v klasické příkazové syntaxi. Parametry jsou odděleny mezerami, co záznam, to řádek. Toť klasický cron.
Na WZ však nemá uživatel možnost cronu využívat (nikdo neví, jestli se to někdy v budoucnu nezmění). Existují služby typu <a href="http://www.webcron.org/index.php?lang=en">
WebCron</a>, které umožňují plánovaně volat PHP skripty na vašem serveru. Ty však využívají klasický http přístup, tudíž nemůžete volané skripty absolutně skrýt. Naštěstí se můžete spolehnout na omezení přístupu na přístup z jediné možné ip adresy (WebCron). Myslím, že tohle bude někde ve FAQ WebCronu.</HTML>
Dakujem za vycerpavajuce odpovede. Cron pozuviat viem, nakoniec som pouzivatel linuxu. Chcel som len vediet ci normalny user ma prava ku jeho spusteniu. Budem to riesist, ako ste hovorili cez htacces. Este raz dakujem.