Avatar billede cas000q1 Nybegynder
07. december 2013 - 14:08 Der er 5 kommentarer

Kun cron job kan aktivere side

Hejsa Folkens jeg er ved og lave en side i php
og på min hjemmeside har jeg side, som kun må blive aktiveret hvert 10 min som mit cron job er sat til, men jeg skal have gjort så andre ikke kan tilgå siden og aktivere scriptet der ligger på den. så scriptet kun køre hvert 10 min
Avatar billede moddi100 Seniormester
07. december 2013 - 15:07 #1
Den simple løsning er at lave et lille tjek i koden. Test for en nøgle/adgangskode og har du modtaget den, ja så er det dit cron job:


<?php
// Øverst i din fil, som kun må tilgås af dit cron job
if(!isset($_GET['cron']) || $_GET['cron'] != 'jne934nvuhgimcxkjdfgbj')
  die("Adgang nægtet");

// Resten af din kode kommer her
?>


Ergo stoppes php såfremt der ikke er tale om dit cron job. For at kalde dit cron job, skal du så kalde filen med:
http://www.eksempel.dk/fil.php?cron=jne934nvuhgimcxkjdfgbj

Hvor det vigtige altså er ?cron=jne934nvuhgimcxkjdfgbj.
Avatar billede erikjacobsen Ekspert
07. december 2013 - 15:10 #2
At skrive "Adgang nægtet" inviterer de søde og rare hackere - der er en (lille) udfordring. Hvad med i stedet for bare at redirecte til forsiden?
Avatar billede moddi100 Seniormester
07. december 2013 - 15:51 #3
Princippet er vel stadigvæk det samme :)
Avatar billede repox Seniormester
07. december 2013 - 16:25 #4
Hvad med at tjekke om scriptet bliver kørt som CLI?
Avatar billede sstaunb Nybegynder
11. december 2013 - 15:38 #5
Oplagt bedst ikke at ligge scripet online overhovedet, slet ikke under WWW root eller lignende, men ligge det et andet sted og fyre det af som var det et shell script.

Start PHP shell scriptet som var det et bash/andet shell script via CRON hver 10. minut.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester