Seltsame Files in der Grundinstallation

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
Gert
Posts: 3078
Joined: Fri May 30, 2008 4:53 pm
Location: Berlin
Contact:

Re: Seltsame Files in der Grundinstallation

Post by Gert » Sat May 26, 2012 4:49 pm

cmb wrote:Ich habe keine Ahnung, was bei Rolf da passiert. Wenn die Dateien tatsächlich von cms.php Zeile 130-135 erzeugt würden, müsste $sl seltsamer Weise verbogen sein.
Naja, dann sollte Rolf mal diese Zeilen in der cms.php auskommentieren oder löschen, dann wissen wir zumindest, ob die es sind, hier nochmal für Rolf:

Code: Select all

/*
if (!file_exists($pth['file']['language'])) {
    copy($pth['folder']['language'].'default.php', $pth['file']['language']);
}
if (!file_exists($pth['file']['langconfig'])) {
    copy($pth['folder']['language'].'defaultconfig.php', $pth['file']['langconfig']);
} 
*/ 
Gert
Gert Ebersbach | CMSimple | Templates - Plugins - Services

rombs
Posts: 77
Joined: Mon May 26, 2008 7:03 am
Location: Switzerland

Re: Seltsame Files in der Grundinstallation

Post by rombs » Sat May 26, 2012 5:54 pm

habe folgendes gemacht:
Gert's index.php kopiert und /language freigegeben: Dateien werden nach klicks auf Link eingefügt.
cms.php gem. Gert angepasst: wie oben
Code in cms.php auskommentiert und /language freigegeben: Dateien werden eingefügt.

Gibt es die Möglichkeit, 'versteckte' Dateien mit Filezilla sichtbar zu machen. Ich erinnere mich, das so etwas mit WS-FTP möglich war.
Schöne Freitage!
Grüsse aus der Schweiz
Rolf

Gert
Posts: 3078
Joined: Fri May 30, 2008 4:53 pm
Location: Berlin
Contact:

Re: Seltsame Files in der Grundinstallation

Post by Gert » Sat May 26, 2012 6:19 pm

Hallo Rolf,

vielen Dank für Deine Mitarbeit ;)
rombs wrote:Code in cms.php auskommentiert und /language freigegeben: Dateien werden eingefügt.
Dann kann es wohl nicht CMSimple_XH sein, das diese Kopien der Sprachdateien anlegt.

Andererseits: Wer schreibt schon Malware, die Dateien mit ungefährlichem Inhalt kopiert?

Seltsam - Gert
Gert Ebersbach | CMSimple | Templates - Plugins - Services

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Seltsame Files in der Grundinstallation

Post by cmb » Sat May 26, 2012 6:51 pm

rombs wrote:Gibt es die Möglichkeit, 'versteckte' Dateien mit Filezilla sichtbar zu machen.
Hauptmenü -> Server -> Auflistung versteckter Dateien erzwingen
Gert wrote:
rombs wrote:Code in cms.php auskommentiert und /language freigegeben: Dateien werden eingefügt.
Dann kann es wohl nicht CMSimple_XH sein, das diese Kopien der Sprachdateien anlegt.
Es wird immer mysteriöser! :? Denn weiter oben schrieb Rolf, dass die Datein nach Klick auf einen Link (wohl im CMSimple-Menü) erzeugt wurden. Dann wird aber eigentlich immer nur CMSimple aufgerufen, es sei denn, im Template oder auf der angeklickten Seite ist ein IFrame eingebettet, oder eine Malware hat sich eingenistet.

Auf jeden Fall mal wenigstens die index.php-Dateien auf verdächtigen Code prüfen!

Wenn die Seite online ist, wäre ein Link wohl nützlich.
Christoph M. Becker – Plugins for CMSimple_XH

Gert
Posts: 3078
Joined: Fri May 30, 2008 4:53 pm
Location: Berlin
Contact:

Re: Seltsame Files in der Grundinstallation

Post by Gert » Sun May 27, 2012 6:36 am

Hallo Rolf,

mal eine ganz fürwitzige Idee: kann es sein, dass die Dateien gar nicht vom Server gelöscht werden?

Manche Server erlauben einem ftp Client nicht das löschen von Dateien, die vom Programm erzeugt wurden. Filezilla müsste Dir eigentlich anzeigen, wem die Datei "gehört".

Nun verhalten sich ftp Programme manchmal seltsam, sie tun so, als wäre die Datei wie gewünscht gelöscht worden, aber wenn man die Ansicht aktualisiert, oder den Ordner verlässt und wieder öffnet, sind sie auf einmal wieder da. Lacht nicht, hatte ich alles schon ;)

Wenn man nun zwischendurch mit CMSimple_XH experimentiert, könnte der Eindruck entstehen, die Dateien wurden neu erzeugt. Müsste man am Datum erkennen, aber wer schaut da schon hin beim ftp ...

Also nach dem löschen per ftp einfach mal die Ansicht des ftp Programmes aktualisieren, mal ins übergeordnete Verzeichnis gehen und wieder zurück, und schauen, ob die Dateien wieder auftauchen, ohne dass CMSimple bedient wurde.

Oder das CMSimple_XH mit der auskommentierten Kopierfunktion in einem neuen Unterverzeichnis installieren, wo diese js.php mit 'Sicherheit noch nicht ist,

Gert
Gert Ebersbach | CMSimple | Templates - Plugins - Services

rombs
Posts: 77
Joined: Mon May 26, 2008 7:03 am
Location: Switzerland

Re: Seltsame Files in der Grundinstallation

Post by rombs » Mon May 28, 2012 3:05 pm

Hallo zusammen
folgendes habe ich zwischenzeitlich gemacht:
- ftp-Programm gecheckt. Doch die Dateien werden gelöscht und als Eigentümer stehe ich bzw. kein anderer. Auch haben sie die aktuelle Zeit, wenn sie entstehen.
- Server auf versteckte Dateien hin untersucht - mit meinem knowhow nichts auffälliges gefunden. Also eher versteckter code?
- Unterverszeichnis erstellt (Name: gdhdfncydf12456knsdgftzruej) ohne auskommentierte Codeabschnitte und die gleiche Installation vom Server reinkopiert. /language auf 755 und getestet.
Jetzt kommts: Nichts passiert!
- Domain auf das neue Unterverzeichnis geroutet, keine Probleme feststellbar.
Schnell zurück in die alte, /language auf 755: zwei Dateien werden geschrieben.

Ich stelle euch die Links per PM zu (sofern das geht, steckt noch in der Outbox fest), sollte ich einen Bock geschossen haben, muss das ja nicht alle Welt sehen :oops:
Grüsse Rolf
Grüsse aus der Schweiz
Rolf

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Seltsame Files in der Grundinstallation

Post by cmb » Mon May 28, 2012 3:39 pm

Hallo Rolf,

ich schau mir das gleich näher an. Nur kurze Info:
rombs wrote:sofern das geht, steckt noch in der Outbox fest
PMs bleiben so lange in der Outbox, bis sie von einem Empfänger abgerufen (also gelesen) wurden.

Christoph
Christoph M. Becker – Plugins for CMSimple_XH

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Seltsame Files in der Grundinstallation

Post by cmb » Tue May 29, 2012 10:17 am

Das Problem mit den automatisch erzeugten Dateien ist gelöst! Es lag an nicht vorhandenen Javascripten, die vom Template referenziert wurden, in Verbindung mit einer (Fehler-)Umleitung, die dann jeweils wieder die CMSimple-Installation aufgerufen hat. Nach Entfernen der Script-Aufrufe im Template funktioniert nun alles so, wie es soll.

100% klar ist mir nicht, was da nun genau passiert ist -- ich konnte das Verhalten mit "ErrorDocument 404 /" nicht reproduzieren, aber man sollte mal überlegen, ob man das Feststellen von $sl weiterhin per URL macht, oder ob man $sl nicht in den jeweiligen index.php fest vorgeben lässt:

Code: Select all

<?php
$sl = ''; // enter the name of the containing folder here
include '../cmsimple/cms.php';
?>
Dann reduziert sich die Behandlung von $sl in cms.php zu:

Code: Select all

if (!isset($sl)) { // for main index.php
    $sl = $cf['language']['default'];
}
if ($sl == '') { // user has forgotten to specify $sl
    die('Please enter $sl in index.php first!');
}
 
Christoph
Christoph M. Becker – Plugins for CMSimple_XH

Gert
Posts: 3078
Joined: Fri May 30, 2008 4:53 pm
Location: Berlin
Contact:

Re: Seltsame Files in der Grundinstallation

Post by Gert » Tue May 29, 2012 12:22 pm

cmb wrote:aber man sollte mal überlegen, ob man das Feststellen von $sl weiterhin per URL macht, oder ob man $sl nicht in den jeweiligen index.php fest vorgeben lässt:
Der letzte Versuch, die User zum bearbeiten von Core Dateien zu animieren, ging aber mächtig schief ... BOM :mrgreen:

Es gibt doch schon eine Routine für Subsites, die könnte auch für Zweitsprachen verwendet werden:

cms.php

Code: Select all

$pth['folder']['language'] = $pth['folder']['cmsimple'] . 'languages/';
$pth['folder']['langconfig'] = $pth['folder']['cmsimple'] . 'languages/';
// if (preg_match('/\/[A-z]{2}\/[^\/]*/', sv('PHP_SELF')))
//    $sl = strtolower(preg_replace('/.*\/([A-z]{2})\/[^\/]*/', '\1', sv('PHP_SELF')));

// for subsite solution - GE 2011-02

$subsite_folder_array = explode('/',str_replace($_SERVER['QUERY_STRING'],'',$_SERVER['REQUEST_URI'])); // creates array
$subsite_folder = array_pop($subsite_folder_array);  // removes last element of array
$subsite_folder = end($subsite_folder_array);  // returns last element of array
if(file_exists('./cmsimplesubsite.htm')){$sl = $subsite_folder;}
if(file_exists('./cmsimplelanguage.htm')){$sl = $subsite_folder;} // NEUE ZEILE - würde auch mit || in der verhergehenden Zeile gehen

// END for subsite solution - GE 2011-02         
Subsites und Zweitsprachen müssen leider auseinandergehalten werden, wegen dem Languagemenu. Da kann aber die Prüfung auf 2 Zeichen erhalten bleiben, um weiterem Missbrauch vorzubeugen.

Dann noch eine kleine Modifikation in der adm.php:

Code: Select all

// if (!(preg_match('/\/[A-z]{2}\/[^\/]*/', sv('PHP_SELF')))) // LÖSCHEN
if(!file_exists('./cmsimplesubsite.htm') && !file_exists('./cmsimplelanguage.htm')) // NEU  
 
Nun könnte CMSimple_XH auch in Verzeichnissen mit 2 Buchstaben installiert werden.

In den Ordner 2lang müsste dann eine cmsimplelanguage.htm, aber das ist bestimmt wieder doof ...

Gert
Gert Ebersbach | CMSimple | Templates - Plugins - Services

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Seltsame Files in der Grundinstallation

Post by cmb » Tue May 29, 2012 1:17 pm

Gert wrote:Der letzte Versuch, die User zum bearbeiten von Core Dateien zu animieren, ging aber mächtig schief ... BOM
Da hast Du natürlich recht -- daran hatte ich nicht gedacht.
Gert wrote:Es gibt doch schon eine Routine für Subsites, die könnte auch für Zweitsprachen verwendet werden:
Das ist natürlich sowieso sinnvoll. Subsites und Zweitsprachen sind ja sowieso "das gleiche", warum also nicht gleich behandeln?

Allerdings ist REQUEST_URI normalerweise beim IIS nicht definiert, soweit ich weiß. Allerdings dürfte gelten:

Code: Select all

str_replace($_SERVER['QUERY_STRING'],'',$_SERVER['REQUEST_URI']) == $_SERVER['PHP_SELF'] 
Gert wrote:Da kann aber die Prüfung auf 2 Zeichen erhalten bleiben, um weiterem Missbrauch vorzubeugen.
Ja, das ist wohl besser. Am besten wie vorher, oder vielleicht noch richtiger per

Code: Select all

preg_match('/[a-z]{2}/i', ...) 
Gert wrote:In den Ordner 2lang müsste dann eine cmsimplelanguage.htm, aber das ist bestimmt wieder doof ...
Wieso? Leere Dateien als Marker gibt es doch auch bei anderen Projekten. Man könnte aber überlegen, ob man die Dateien versteckt und vielleicht die Endung weglässt (HTML-Dateien sind es ja nicht wirklich; zumindest validieren sie nicht): also etwa .cmsimplesubsite und .cmsimplelanguage.

Also insgesamt vielleicht (statt cms.php Zeile 112-125):

Code: Select all

$temp = explode('/', $_SERVER['PHP_SELF']);
$temp = $temp[count($temp) - 2];
$sl = file_exists('./.cmsimplesubsite') || file_exists('./.cmsimplelanguage') && preg_match('/[a-z]{2}/i', $temp)
    ? $temp : $cf['language']['default'];
 
plus die Änderung in adm.php.
Christoph M. Becker – Plugins for CMSimple_XH

Post Reply