cronjob - direct admin - beveiligen
Helaas kan ik door een update van de server (ik gebruik een shared hoting), niks meer doen met de bestandsrechten.
Hoe kan ik zorgen, dat alsnog de pagina om het kwartier wordt herladen, en dat je niet zelf de pagina kan bezoeken, ik heb dit geprobeerd, maar dit werkt helaas niet.
Wat gebeurt er dan als je de cronjob uitvoert?
Als hij opent via cronjob heb ik geen idee, omdat ik dat zelf niet kan zien, maar als ik de if.. weg haal doet hij het wel.
extra info:
*/15 * * * * /usr/local/bin/php -q -f /home/****/domains/****.nl/public_html/mapje/game/cron_quarter.php
Waarom controleer je zelf ook nog eens op de tijden, terwijl de cronjob deze al expliciet al op het gewenste tijdstip uitvoert?
Omdat je nu als bezoeker van de site ook naar de cronjob pagina kan gaan, en dan wordt deze alsnog uitgevoerd, en dat probeer ik tegen te gaan.
Ik zou die beveiliging snel weghalen. Waarom zou een bezoeker ook naar die pagina mogen gaan? Cronjobs draaien altijd op het juiste tijdstip.
- Aar - op 31/03/2012 14:01:37:
... Waarom zou een bezoeker ook naar die pagina mogen gaan? ...
Hij kan toch gewoon die link in de url balk intypen?
Of kan ik de pagina ook buiten de root zetten, maar dat hij dan wel via cronjob wordt herladen?
Toevoeging op 31/03/2012 16:18:14:
Want het is juist de bedoeling dat iemand zelf niet naar die pagina kan gaan.
Je kunt dit simpelweg tegengaan door een IP beveiliging in te bouwen. Ik weet niet vanaf welke server je crons worden gedraaid (ik neem aan vanaf de zelfde server als waar het script op staat), maar dat moet je even uitzoeken.
Zodra je daarvan het IP adres weet kun je in je script verwerken dat het IP adres gecheckt moet worden en als het niet overeen komt dat er dan een exit(); staat zodat er verder niets gebeurt. Hiermee ben je van het probleem af.
@ D Herre,Waarom zo moeilijk doen?? Gewoon het bestand buiten de root plaatsen.
Phoenix Bird op 06/04/2012 21:50:50:
@ D Herre,Waarom zo moeilijk doen?? Gewoon het bestand buiten de root plaatsen.
Kan wel, maar ik twijfel of DA deze wel meeneemt bij een restore van een backup? Een beveiligde directory in je webroot zou ook kunnen.
Gewijzigd op 06/04/2012 21:55:38 door - Ariën -
Phoenix Bird op 06/04/2012 21:50:50:
@ D Herre,Waarom zo moeilijk doen?? Gewoon het bestand buiten de root plaatsen.
Je hebt gelijk. Ik zit nu even bij een host zonder directadmin dus ik gebruik nu externe crons, het was me even ontschoten ;)
Tom Tom op 31/03/2012 13:32:50:
Weet je wel wat date('Í') teruggeeft?
Quote:
I (capital i) Whether or not the date is in daylight saving time 1 if Daylight Saving Time, 0 otherwise.
En bovendien worden crons niet altijd op hetzelfde tijdstip uitgevoerd. Ze kunnen wel eens vertraagd raken... Dus sloop die check er gewoon uit.
Zodra de cron runt zal het IP geschreven worden en met het IP van ip.txt kan je dan simpelweg checken of het een geldig IP is.
Gewijzigd op 07/04/2012 16:37:02 door - Raoul -
Tom Tom op 31/03/2012 13:49:46:
Omdat je nu als bezoeker van de site ook naar de cronjob pagina kan gaan
Dan zet je die buiten de webroot.