Ich führe einen Cronjob aus, der Daten in einen Cache schreiben muss. Ich wollte diesen Cronjob in meinen privaten Ordner legen, aber selbst nach dem CHMODding des Cache-Ordners im privaten Ordner erhält er keine Schreibrechte. Dies scheint eine Art von Plesk-Funktion zu sein.
Jetzt habe ich den Cronjob in den öffentlichen Ordner gelegt. Ich muss jedoch sicherstellen, dass nur der Server das Skript ausführen kann. Wie wäre es mit folgendem Eintrag am Anfang des Cronjobs?
if ($_SERVER['SERVER_ADDR'] != $_SERVER['REMOTE_ADDR']) die();
Das scheint zu funktionieren. Ist es jedoch nicht ausnutzbar, z.B. kann ein Benutzer seine remote_addr mit der meines Servers manipulieren? Oder gibt es eine bessere Möglichkeit, dies zu überprüfen?
Ein weiteres Problem, das ich habe, ist, dass der obige Code 2 Warnungen zurückgibt, obwohl er zu funktionieren scheint:
PHP Notice: Undefined index: SERVER_ADDR in ... on line 2
PHP Notice: Undefined index: REMOTE_ADDR in ... on line 2
Haben Sie eine Idee, was die Ursache dafür ist?