Archief - PHP: Cronjobs

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

koebeest

Legacy Member
Hallo,

Zoals jullie allemaal wel weten ben ik bezig aan een economische browsergame (zie sig :p) je kan nu winkeltjes maken, deze ook al bijna inkopen(moet nog afwerken) maar nu wil ik deze ook laten verkopen en dit doormiddel van cronjobs. Het spel zal werken met updates namelijk de maandag, woensdag en vrijdag en dit steeds op hetzelfde uur (ligt nog niet vast). Nu heb ik enkele problemen

  1. Hoe zorg ik ervoor dat die pagina die zal worden gehit door de cronjob , niet kan opengedaan worden door andere mensen( dus zei kunnen de pagina niet manueel hitten)
  2. Welke code moet ik juist tikken, kunnen jullie even een klein voorbeeldje geven wat er juist in die mysql code moet komen te staan.
  3. En dan nog even een informatief vraagje, wat vinden jullie dat er zeker moet komen in een economische browsersim (auto's pikken , een bank, winkels kopen enzo is er al)


mvg

Jens

orez

Legacy Member
1. PHP_SELF of headers, of locatie controleren zou u moeten vooruithelpen... de rest kan je wel opzoken.

2. ... je maakt een browsergame... in php ... dan zou je toch moeten weten wat je als SQL zet? een cronjob is niets meer dan een gewone php pagina die om de zoveel tijd door de server wordt uitgevoerd

koebeest

Legacy Member
headers is toch gewoon doorverbinden is toch nie echt handig voor het checken van de persoon?

k kem een codeke

PHP:
<?php 
if($_GET['pass'] != "test") { 
header("Location: index.php"); 
} else { 

//code
} 
?>
en dan laat ik de cronjob verbinden naar cronjob.php?pass=test bijvoorbeeld


klopt da???

Erlend

Legacy Member
je host zal eerder cronjobs moeten ondersteunen. Zoals orez zegt
dit is niet zo zeer iets specifiek in php maar wel een functie
ondersteund door je host.

Als je host deze service ondersteunt staan deze bestanden vaak
al afgeschermd of buiten de map waar je bezoekers in terecht komen.

koebeest

Legacy Member
nee ik heb op men host cronjobs , maar ik moet de link zelf nog ingeven

WHiSPy

Legacy Member
Zet de php-pagina dan buiten de root van de website. (bv in de folder onder de httpdocs) :)

BertG

Legacy Member
WHiSPy zei:
Zet de php-pagina dan buiten de root van de website. (bv in de folder onder de httpdocs) :)
Da ga nie werken eh... de cronjob doet een HTTP request naar de server...

Enkele cheques
  • Kijk naar ip, is die zelfde als die van je server
  • Geef je pagina een onmogelijke naam 12548qsdfjh15696qsfqd.php bijvoorbeeld
  • zet ze dan nog es in onmogelijke directorys
  • verander die namen
  • Werk met passwords
  • kijk naar type request, er is POST en GET maar ook HEAD, PUT en DELETE.. kan je ook mee prutsen

genoeg dus om op te controleren

maar als je echt veilig wil zijn, laat een apparte applicatie die opdrachten uitvoeren, ze zijn prolly op de DB en die kan je ook berijken met stand-alone apps eh.

orez

Legacy Member
simpelweg in de private map zetten van je host werkt ook hoor...

en een stand-alone app zou ik nooit willen gebruiken BertG, om de simpele reden --> ik wil mijn pc niet voor 1 siteke dag en nacht laten opstaan...

via .htaccess / controles in systeemstructuur / private maps van uwen host... kunde al genoeg doen.

killgore

Legacy Member
BertG, ik weet niet waar je dat vandaan haalt, maar een cron job kan perfect php files uitvoeren die op de niet-publieke mappen staan zoals whispy zei. Ge vertrekt immers voor uw cmd vanaf uw 0 om de dir te specifiëren, als ik een cron job wil vo publieke page moet ek specifiëren dat die in public_html zit ze ;).

dJeez

Legacy Member
BertG zei:
Da ga nie werken eh... de cronjob doet een HTTP request naar de server...
Dat hangt er louter vanaf hoe je de cronjob uitwerkt. Je kàn het idd zo doen, maar dat hoeft helemaal niet. Als je het niet op die manier doet ga je wel wat moeten opletten, aangezien je dan niet via de PHP module passeert, maar wel rechtstreeks via de PHP interpreter. Bepaalde variabelen (ik denk maar aan $_SERVER) zullen in dat geval uiteraard niet gezet zijn.

Erlend

Legacy Member
Ik ben er precies niet zo voor te vinden. Dat is nu wel louter een
indruk en geen ervaring.

killgore

Legacy Member
dJeez zei:
Dat hangt er louter vanaf hoe je de cronjob uitwerkt. Je kàn het idd zo doen, maar dat hoeft helemaal niet. Als je het niet op die manier doet ga je wel wat moeten opletten, aangezien je dan niet via de PHP module passeert, maar wel rechtstreeks via de PHP interpreter. Bepaalde variabelen (ik denk maar aan $_SERVER) zullen in dat geval uiteraard niet gezet zijn.
zo deed ik het dus

nadeel: ge moet interpreter weten staan :(.

en cron jobs waarin met globals gewerkt wordt == bad imho :).

Zelete

Legacy Member
Black Night zei:
aangezien mijn host geen cronjob geactiveerd heeft, ben ik ook genoodzaakt om een andere optie te nemen.

Zijn er mensen met ervaring over webcron.org?
Ja, nog geen problemen mee gehad. Elke dag om stipt 4u maakt hij bij mij een backup van een complete MySQL database en nog nooit heeft hij er eentje overgeslagen, dus dat zit wel snor.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan