forum fehlermeldung beim Löschen von Themen älter 360 Tage

Started by naan, January 24, 2011, 04:31:03 AM

Previous topic - Next topic

naan

Ich bekomme immer eine Fehlermeldung, wenn ich Beiträge löschen will, auf die schon 360 Tage nicht geantwortet wurde.



Ein Fehler ist aufgetreten!
Ungültige Referring Site. Bitte gehen Sie zurück und versuchen Sie es erneut.



ich versuche das immer im hier

Fiat Scudo Peugeot Expert Citroen Jumpy PSA-Forum » Administrator-Center » Wartung des Forums » Themen


Dann wähle ich spezielle Boards aus und trage 360 Tage ein.
dann geht nochmal eine Meldung auf, ob ich wirklich will. Wenn ich dann bestätige, kommt die Fehlermeldung.


ich nutze smf 2.0 RC3


naan.de // psaForum and other things.

naan

naan.de // psaForum and other things.

ThorstenE

hab das grad mal mit einem RC4 Board getestet, da funktioniert es ohne Probleme:
QuoteThe maintenance task 'Remove Old Posts' was executed successfully.
Es liegt also entweder an der "veralteten" RC3 oder an einer Modifikation. Ich würde mal darauf tippen, daß ein Update das Problem lösen sollte.

naan

weder noch.

ich hab keine modifikation mehr drin und ich hab auf einem testserver ein update gemacht.

beides hat das problem nicht gelöst.

naan.de // psaForum and other things.

ThorstenE

dann kann es eigentlich nur an deiner php-Config liegen, kannst du mal mittels phpinfo(); prüfen, ob die Session-Variable korrekt gesetzt ist?

naan

hab es gerade mal mit ie8 probiert.
Der bringt mir gleich eine fehlermeldung wenn ich im admin center auf wartung - themen gehe.
Schon bevor ich auf entfernen gehe.

Administrator-Center » Wartung des Forums » Themen



------------------------------------

Details zum Fehler auf der Webseite

Benutzer-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Tablet PC 2.0)
Zeitstempel: Mon, 14 Feb 2011 14:41:31 UTC


Meldung: Nicht abgeschlossene Zeichenfolgenkonstante
Zeile: 582
Zeichen: 310
Code: 0
URI: ../sevel/index.php?action=admin;area=maintain;sa=topics;d7e1f8ef84=3c10dd31787cc5027442506bcf975003

naan.de // psaForum and other things.

naan


Welche Session variabel?


unter session steht folgendes:
-------------------------------------------------
Session Support    enabled
Registered save handlers    files user sqlite
Registered serializer handlers    php php_binary

Directive   Local Value   Master Value
session.auto_start   Off   Off
session.bug_compat_42   Off   Off
session.bug_compat_warn   On   On
session.cache_expire   180   180
session.cache_limiter   nocache   nocache
session.cookie_domain   no value   no value
session.cookie_httponly   Off   Off
session.cookie_lifetime   0   0
session.cookie_path   /   /
session.cookie_secure   Off   Off
session.entropy_file   no value   no value
session.entropy_length   0   0
session.gc_divisor   1000   1000
session.gc_maxlifetime   1440   1440
session.gc_probability   1   1
session.hash_bits_per_character   5   5
session.hash_function   0   0
session.name   PHPSESSID   PHPSESSID
session.referer_check   no value   no value
session.save_handler   files   files
session.save_path   /tmp   /tmp
session.serialize_handler   php   php
session.use_cookies   On   On
session.use_only_cookies   Off   Off
session.use_trans_sid   0   0
naan.de // psaForum and other things.

ThorstenE

session.save_path = /tmp ist korrekt, wenn du im Ordner /tmp Schreibrechte hast..
kannst du mal auf Englishe Sprache umstellen und den Fehler reproduzieren -> die Fehlermeldung erneut posten? (ich kann mit den deutschen Fehlermeldungen nix angfangen *g*)..
Der Fehler tritt bei einer nackten RC4 / RC5 auf? das würde auf einen Bug hindeuten, der bisher nicht gefunden wurde..

naan

------------------
An Error Has Occurred!
Unable to verify referring url. Please go back and try again.
------------------


ich erhalten den Fehler in meinem aktiven Forum 2.0 RC3 unter naan.de/sevel
hier hab ich 2 mods installiert
-dt. Feiertage
- resize attachement image

ich erhalten den Fehler auch in meinem testforum 2.0 RC4 unter werk24.org/sevel
hier sind keine mods installiert.
naan.de // psaForum and other things.

naan

Wenn ich ie8 nutze, bekomme ich sogar eine Fehlermeldung, wenn ich nur auf diese Seite gehe:

Fiat Scudo Peugeot Expert Citroen Jumpy PSA-Forum » Administrator-Center » Wartung des Forums » Themen
Ich möchte Themen löschen in 2 Boards, die älter als 360 Tage sind.


wenn ich germen ut8 nutze sagt ie8, die Seite ist Fehlerhaft:
--------------
Details zum Fehler auf der Webseite

Benutzer-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Tablet PC 2.0)
Zeitstempel: Tue, 15 Feb 2011 09:20:15 UTC

Meldung: Nicht abgeschlossene Zeichenfolgenkonstante
Zeile: 583
Zeichen: 310
Code: 0
URI: ../sevel/index.php?action=admin;area=maintain;sa=topics;ca5cd354=c1eecd973d1fc9bea7754f5286c00d00
----------------



wenn ich auf englisch gehe, kommt der fehler nicht.

Aber dennoch erhalte ich in beiden Sprachen eine fehlermeldung, wenn ich dann Themen löschen will.

de-utf8
Ein Fehler ist aufgetreten! Ungültige Referring Site. Bitte gehen Sie zurück und versuchen Sie es erneut.

en
An Error Has Occurred! Unable to verify referring url. Please go back and try again.
naan.de // psaForum and other things.

naan

jetzt hab ich mein testforum auf rc5 upgegradet


Fehler bleibt.


ich kann im admincenter keine Themen in ausgewählten Boards löschen, die älter als x tage sind.

weder im rc3 noch im rc4 noch im rc5
werder in english noch mit german-utf8
naan.de // psaForum and other things.

naan

Wenn ich in der RemoveTopic.php
Folgendes ändere, geht es.

// So long as you are sure... all old posts will be gone.
function RemoveOldTopics2()
{
global $modSettings, $smcFunc;

isAllowedTo('admin_forum');
checkSession('post', 'admin');


ändern in

// So long as you are sure... all old posts will be gone.
function RemoveOldTopics2()
{
global $modSettings, $smcFunc;

isAllowedTo('admin_forum');
checkSession('post');




Kann aber keine Dauerlösung sein.
Habt ihr nicht das Problem?
naan.de // psaForum and other things.

ThorstenE

ich hatte es bei meinem Board ja explizit getestet und es hat keinerlei Fehlermeldung gegeben.
irgend etwas auf dem Server verursacht, dass du in der Security.php in eine dieser beiden Bedingungen rutscht:
// Okay: referrer must either match parsed_url or real_host.
if (isset($parsed_url['host']) && strtolower($referrer['host']) != strtolower($parsed_url['host']) && strtolower($referrer['host']) != strtolower($real_host))
{
$error = 'verify_url_fail';
$log_error = true;
}


// Well, first of all, if a from_action is specified you'd better have an old_url.
if (!empty($from_action) && (!isset($_SESSION['old_url']) || preg_match('~[?;&]action=' . $from_action . '([;&]|$)~', $_SESSION['old_url']) == 0))
{
$error = 'verify_url_fail';
$log_error = true;
}


du könntest mal testweise erst in der ersten, dann testen, dann in der zweiten
$error ='verify_url_fail';
ersetzen durch:
$error = 'guest_vote_disabled';
das produziert dann zwar eine "sinnlose" Fehlermeldung aber zumindest kann ich dann erahnen, in welcher der beiden Schleifen du hängen bleibst. ggf. finden wir dadurch den Fehler.


naan

Security.php
Wenn ich die Datei aufmache mit dem windiows editor und dann speichern klicke, will er ansi speichern.
Müsste er nicht utf-8 speichern wollen?

naan.de // psaForum and other things.

naan

Beim ersten bleibt der fehler wie gehabt.
Beim Zweiten kommt ein neuer Fehler.
---
Ein Fehler ist aufgetreten!
Gäste können in dieser Umfrage nicht abstimmen.



Also bei dieser Einstellung:

// Well, first of all, if a from_action is specified you'd better have an old_url.
if (!empty($from_action) && (!isset($_SESSION['old_url']) || preg_match('~[?;&]action=' . $from_action . '([;&]|$)~', $_SESSION['old_url']) == 0))
{
$error = 'guest_vote_disabled';
$log_error = true;


Kommt der neue Fehler mit den Gästen.


naan.de // psaForum and other things.

naan

Was mir auch aufgefallen ist, dass ich mich früher im Admincenter immer nochmal mit dem Passwort zusätzlich anmelden musste.
Das kommt nur noch sporadisch. Gerade eben wollte er das Passwort nicht nochmal haben.


was mir auch jemand gesagt hat, dass eventuell eine Firewall oder ein Router meine Internetadressen abwandeln könnte.
naan.de // psaForum and other things.

ThorstenE

Das Admin-Passwort wird abgefragt, wenn die Session abgelaufen ist (z.b. wenn du den Browser schließt).
kannst du bitte mal folgendes probieren:

vor dieser Zeile:
// Well, first of all, if a from_action is specified you'd better have an old_url.
bitte mal diesen Code einfügen:
//Debugging
$file = fopen('log_smf_error.txt','w');
$log = 'Session_old_url: ';
$log .= $_SESSION['old_url'];
$log .= "\nFrom Action: ";
$log .= $from_action;
$log .= "\nPreg Match: ";
$log .= (preg_match('~[?;&]action=' . $from_action . '([;&]|$)~', $_SESSION['old_url']) == 0) ? 'Fehler' : 'OK';

if($file)
{
fputs($file, $log);
fclose($file);
}


der Code sollte dir bei Aufruf der Topic-Wartung eine Datei im Root-Ordner des SMF anlegen (log_smf_error.txt). falls die Datei nicht angelegt wird liegt es an den Ordner-Rechten, dann bitte per Hand anlegen und auf CHMOD 777 setzen. In der Datei werden die entsprechenden Variablen (von denen scheint eine bei dir nicht definiert zu sein) protokolliert. Kannst du die Datei danach mal hier anhängen?

naan

In der log_smf_error.txt steht dann:


Session_old_url: http://www.????.de/sevel/index.php?action=admin;area=maintain;sa=topics;activity=pruneold
From Action:
Preg Match: Fehler


Die vier ? sind meine Domain.
Kann eigentlich auch jeder wissen oder?
naan.de // psaForum and other things.

ThorstenE

ok, das heisst die Session_url wird korrekt erkannt aber die $from_action nicht.. du greifst aber nicht von "extern" direkt auf die Seite zu sondern gehst den normalen Weg über's Admin-Interface, oder?
btw, der Aufruf ist aber noch der originale oder schon der modifizierte?
checkSession('post', 'admin');

naan

Ja ich gehe immer über das admincenter.
wie sollte ich das sonst machen?

Was heist von extern direkt?




checkSession('post', 'admin');
ja das habe ich wieder zurückgestellt.
naan.de // psaForum and other things.

Advertisement: