Page 1 of 1
csrftoken blockiert
Posted: Mon 10. Oct 2022, 22:34
by hekla
Ich habe phpwcms 1.8.7 auf einem Uni Server für eine Institut laufen. Nach einem Serverupdate scheinen die Strings des csrftoken immer wieder mal blockiert zu werden (verdächtige Strings). Das Rechenzentrum will sich nicht darum kümmern und nichts damit zu tun haben.
Frage: gibt es eine Möglichkeit phpwcms laufen zu lassen ohne den csrftoken in der URL? oder kann ich ihn anpassen, dass nur gewisse Zeichenketten vorkommen?
Re: csrftoken bolckiert
Posted: Wed 12. Oct 2022, 21:08
by Oliver Georgi
Da hast Du nur wenige Möglichkeiten, oder Du baust die Funktion um, sodass eben nur das herauskommt, was Du möchtest. Suche die Funktion
generate_get_token()
. Müsste dann für Deinen Fall hier sein
https://github.com/slackero/phpwcms/blo ... on.php#L97
Da kannst Du ja mit dem Ergebnis der
md5()
Funktion tun und lassen, was Du möchtest. Oder immer was festes setzen. Läuft dem Konzept natürlich komplett zuwider.
Das sind aber ohnehin nur
a-f0-9
Zeichen.
Re: csrftoken blockiert
Posted: Wed 26. Oct 2022, 00:59
by hekla
Danke für die Antwort. Ja es wäre schade um den csrf Token und dann auch irgendwie witzlos.
Ich bin mir nicht sicher, ob meine mit dem Token Annahme stimmt.
Ich arbeite mich weiter vor.
Was ich noch herausgefunden habe: Wenn ich versuch einen Content Part zu kopieren oder einen neuen anzulegen bekomme ich folgende Fehlermeldung:
Code: Select all
{STATUS_MESSAGE}{BE_PARSE_LANG} error while creating new article content: Field 'acontent_files' doesn't have a default value
Ich habe weiter rausgefunden, dass es sein könnte, dass die Maria DB im STRICT Mode läuft – und das habe ich geprüft und es stimmt.
Auf "normalen" shared Webspaces habe ich gesehen, dass es auf NO_ENGINE_SUBSTITUTION läuft …
Gibt es dazu weitere Ideen oder Kommentare?
Re: csrftoken blockiert
Posted: Wed 26. Oct 2022, 05:47
by Oliver Georgi
Konfiguration anpassen, gibt ebenfalls dafür Lösungen. Ansonsten Standardwert für die Spalte im DB Schema setzen.
Re: csrftoken blockiert
Posted: Wed 9. Nov 2022, 10:20
by hekla
Danke
Ich habe die Standardwert für die Spalte im DB geändert, jetzt sind die "…doesn't have a default value" Fehler weg.
Zum strict mode habe ich vom Uni Rechenzentrum folgende Antwort bekommen
diese Variable greift pro Sitzung wie es der Benutzer wünscht. Sie können beim Verbinden z.B. einfach ein
SET SQL_MODE='NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
absetzen und das für Ihre Sitzung so festlegen.
Jetzt habe ich gesehen, dass in der config Datei der aktuellen Version sowas steht – ist das diese Einstellung?
Die besagte Webseite läuft leider auf Vesion 1.8.7-beta, wo diese Einstellungen noch nicht drin sind – liesse sich das da auch umsetzten oder ist ein Update notwendig?
Re: csrftoken blockiert
Posted: Wed 9. Nov 2022, 10:38
by Oliver Georgi
Re: csrftoken blockiert
Posted: Thu 15. Dec 2022, 11:54
by hekla
Danke.
Habe es mit hart hier hinterlegen versucht, aber dann gab es andere Phänomene.
Habe letztlich die Admins des Rechenzentrums dazu bewegen können, die Sicherheitseinstellungen zu ändern. Das war dann die Lösung der meisten Probleme.
Ein Problem taucht noch auf und das konnte ich noch nicht lösen:
Wenn ich in der Dateizentrale versuche ein neues Verzeichnis zu erstellen, bekommen ich eine Fehlermeldung.
error while writing new dir info
Habe dazu in files.private.newdir.tmpl.php folgenden Code gefunden:
if(!isset($dir_error)) {
$sql = "INSERT INTO ".DB_PREPEND."phpwcms_file (f_pid, f_uid, f_name, f_aktiv, f_public, ".
"f_created, f_kid, f_longinfo, f_gallerystatus, f_sort) VALUES (".
$dir_pid.", ".
$_SESSION["wcs_user_id"].", '".
aporeplace($dir_newname)."', ".
$dir_aktiv.", ".
$dir_public.", '".
time()."', 0, '".aporeplace($dir_longinfo)."', ".$dir_gallery.", ".
$dir_sort.")";
if($result = mysql_query($sql, $db) or die ("error while writing new dir info")) {
headerRedirect(PHPWCMS_URL.'phpwcms.php?'.get_token_get_string('csrftoken').'&do=files&f=0');
}
}
… weiss aber nicht, wie ich den Fehler finden kann.
$phpwcms['db_errorlog'] = true
funktioniert in Version 1.8.7 anscheinend noch nicht.
Gibt es Ideen dazu?
Re: csrftoken blockiert
Posted: Thu 15. Dec 2022, 12:20
by hekla
Habe es selber lösen können.
Habe in phpmyadmin von Hand Einträge silmuliert, wie sie der CMS Code erzeugt hätte, also mit den Feldern f_pid, f_uid, f_name, f_aktiv, f_public, f_created, f_kid, f_longinfo, f_gallerystatus, f_sort
Das fürte zu einer Fehlermeldung beim Feld f_kid
. Habe daraufhin den Standard Wert von 0
auf kein(e)
gesetzt und jetzt geht es wieder.