csrftoken blockiert

Alle installationsbezogenen Probleme hier posten. Dies sollte die erste Anlaufstelle bei Problemen sein.
Post Reply
hekla
Posts: 97
Joined: Tue 31. Jan 2006, 08:37

csrftoken blockiert

Post 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?
Last edited by hekla on Tue 25. Oct 2022, 23:57, edited 1 time in total.
User avatar
Oliver Georgi
Site Admin
Posts: 9861
Joined: Fri 3. Oct 2003, 22:22
Location: Europe 🇩🇪 🇷🇺
Contact:

Re: csrftoken bolckiert

Post 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.
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
hekla
Posts: 97
Joined: Tue 31. Jan 2006, 08:37

Re: csrftoken blockiert

Post 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?
User avatar
Oliver Georgi
Site Admin
Posts: 9861
Joined: Fri 3. Oct 2003, 22:22
Location: Europe 🇩🇪 🇷🇺
Contact:

Re: csrftoken blockiert

Post by Oliver Georgi »

Konfiguration anpassen, gibt ebenfalls dafür Lösungen. Ansonsten Standardwert für die Spalte im DB Schema setzen.
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
hekla
Posts: 97
Joined: Tue 31. Jan 2006, 08:37

Re: csrftoken blockiert

Post 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?
User avatar
Oliver Georgi
Site Admin
Posts: 9861
Joined: Fri 3. Oct 2003, 22:22
Location: Europe 🇩🇪 🇷🇺
Contact:

Re: csrftoken blockiert

Post by Oliver Georgi »

Du kannst das hart hier hinterlegen:
https://github.com/slackero/phpwcms/blo ... c.php#L378

Vergleiche einfach mit der aktuellen Version:
https://github.com/slackero/phpwcms/blo ... c.php#L391
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
hekla
Posts: 97
Joined: Tue 31. Jan 2006, 08:37

Re: csrftoken blockiert

Post 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?
hekla
Posts: 97
Joined: Tue 31. Jan 2006, 08:37

Re: csrftoken blockiert

Post 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.
Post Reply