Huhu,
danke Dir für die Info!
Du hast auch tatsächlich genau gefunden wo der Schuh drückt, da macht das CF4 in der Tat Dicht, weil es keine Sessions ohne IP Adresse zulässt und sicherstellt, dass eine gültige IPv4 oder IPv6 Adresse vorliegt. Hat auch teilweise mit Spamschutz oder Angriffen auf Serverebene zu tun. Allerdings war diese Prüfung im CF3 auch schon vorhanden, also das hätte ggf. immer schon anschlagen müssen. Ansonste überrascht mich das, ich hätte fast gewettet das Cronscript sendet dort auch localhost oder 127.0.0.1 mit.
So wirkliche Optionen auf Boardebene hast Du da zumindest grundlegend nicht und ich würde auch nicht empfehlen diese Prüfroutine auszuhebeln weil es ja schon zusätzlich der Forensicherheit dient. Vermutlich hattest Du damals beim CF3 einfach diese Prüfstelle in der Userklasse dann ausgehebelt oder? Dann kämst Du natürlich durch das stimmt.
Als mögliche Alternativlösung würden mir jetzt spontan nur folgende Dinge einfallen:
- entweder Du machst Dir wirklich ein blankes PHP Script nur für den Cronjob, welcher die URL die Du manuell aufrufen wolltest
einfach per curl ansteuert (eine Cookie File wie bei der verlinkten Anleitung brauchst Du dafür übrigens nicht, bei Gästen ist das eh egal), dann sollte das Board zumindest eine ::1 oder 127.0.0.1 zu sehen kriegen und es müsste damit dann eigentlich funktionieren. Ich hab einen Kunden, da werden per Cronjob die brisantesten Themen von einer API / Schnittstelle des Forums als XML abgerufen, da ist das Script ein einfaches curl und das funktioniert. Müsste also ohne Umbauten am Forum zu einer Lösung führen, vor allem, wenn Du nur eine Handlung im Board "anstupsen" möchtest.
- die andere Idee wäre, dass Du Dir nur für Crons ein eigenes zusätzliches PHP Script machst, welches im Grunde den Startup der init.php ohne die User / Session Klasse macht, also sozusagen fast nur auf die DB verbindet und sozusagen halbwegs extern agiert. Allerdings finde ich das eher eine schlechte Lösung, weil Du dann viel Code selber schreiben musst, weil Du im Grunde nie das ganze CF4 Core hochgestartet kriegst.
Eventuell gibt es auch eine Möglichkeit bei Crons über Konsole ein IP Flag zu setzen, vielleicht ne Servervariable damit vorbelegen, aber da muss ich jetzt auf Serverebene ein bisschen passen, das ist ja vermutlich auch bei jeder Distribution ein bisschen anders.
Ich persönlich würde vermutlich über die curl Lösung gehen.
LG,
Chris