CSS online editieren
Damian
- css
Hi,
ich hab mir so ein kleines CMS geschrieben. Jetzt möchte ich die CSS-Styles online editieren. Das müsste ich ja mit php machen. Das Problem ist jetzt, dass ich die Datei dann style.php nennen müsste und dann funktioniert das CSS nicht mehr...
kann jemand helfen?
mfg
Moin!
ich hab mir so ein kleines CMS geschrieben. Jetzt möchte ich die CSS-Styles online editieren. Das müsste ich ja mit php machen.
Nö, sowas geht mit jeder gängigen CGI-Anwendung, PHP, ASP, Perl, Python, Bash, …
Das Problem ist jetzt, dass ich die Datei dann style.php nennen müsste und dann funktioniert das CSS nicht mehr...
Wieso das? Du kannst doch CSS-Dateien editieren, den Inhalt in einer Datenbank speichern, …. Damit dann dein style.php CSS ausgibt, reicht
header('Content-type: text/css');
kann jemand helfen?
Hoffe ich.
Gruß, Robert
Tja, so einfach gehts :-)
Danke vielmals, hast mir sehr geholfen!
Moin!
Tja, so einfach gehts :-)
Wer hätte das gedacht.
Danke vielmals, hast mir sehr geholfen!
Keine Ursache!
Den „Trick“ mit dem Content-Type kannst du dir übrigens merken, wenn du irgendwann mal mit PHP nen RSS-Feed (application/rss+xml) füttern willst und auf XHTML (application/xhtml+xml) umsteigst.
Viele Grüße, Robert
Hallo,
Wieso das? Du kannst doch CSS-Dateien editieren, den Inhalt in einer Datenbank speichern, …. Damit dann dein style.php CSS ausgibt, reicht
Ähm kannst du mir verraten warum man den Inhalt in einer Datenbank speichern wollen würde und nicht direkt in der CSS Datei? Man kann doch mit der Serverseitigen Sprache wunderbar die CSS Datei, die ja nichts anderes ist als eine Textdatei, einlesen, in einer Textarea ausgeben und wenn man sie wieder vom User über das Formular zurückbekommt unter dem namen screen.css wieder abspeichern. Was bring einem der große Umweg über die Datenbank?
Ich sehe nur Nachteile:
1. Bei jedem Aufruf der CSS Datei muss die Datenbankengine angeworfen werden
suchen und die Daten ausgeben. Das kostet Zeit
2. Bei jedem Aufruf der CSS Datei muss die PHP (oder sonstige) Engine
Angeworfen werden und die Datenbank mit Daten füttern, die ankommenden
Daten entgegennehmen und mitsammt des headers ausgeben. Das kostet auch
viel unnötige Zeit.
Der Server kann das doch viel schneller. Der muss ja auch nur die Statische Datei so ausgeben wie sie da ist.
Grüße
Jeena Paradies
Moin!
Wieso das? Du kannst doch CSS-Dateien editieren, den Inhalt in einer Datenbank speichern, …. Damit dann dein style.php CSS ausgibt, reicht
Ähm kannst du mir verraten warum man den Inhalt in einer Datenbank speichern wollen würde und nicht direkt in der CSS Datei?
Ähm, ein wenig quer formuliert, die Idee, die Datei online zu editieren sollte dieser Satz eigentlich auch beinhalten, sorry.
Es gibt aber einen halbwegs guten Grund, weshalb man den Inhalt der CSS-Datei lieber nicht in einer veränderbaren Datei speichern möchte: Sicherheit. Bei den meisten (allen?) Webhosting-Angeboten hat man als Kunde einen normalen User-Account, während der Webserver dieser Gruppe nicht angehört. Umgekehrt, läuft der Server oft mit den Rechten einer Gruppe www (o.ä.), zu der der Kunde nicht gehört. Wenn ich nun eine Datei per Script online editierbar machen möchte, muss ich diese für alle schreibbar machen. Auch wenn man per FTP nicht in die Verzeichnisse anderer Kunden wechseln kann, habe ich bei solchen Dateien immer ein schlechtes Gewissen.
Ich sehe nur Nachteile:
- Bei jedem Aufruf der CSS Datei muss die Datenbankengine angeworfen werden
suchen und die Daten ausgeben. Das kostet Zeit
Oh ja, vor allem bei hoher Serverlast und PHP mit MySQL.
- Bei jedem Aufruf der CSS Datei muss die PHP (oder sonstige) Engine
Angeworfen werden und die Datenbank mit Daten füttern, die ankommenden
Daten entgegennehmen und mitsammt des headers ausgeben. Das kostet auch
viel unnötige Zeit.
Aus diesem Grund werden ja für große Webseiten wie z.B. Zeitungen oder Online-Dienste die Inhalte zwar in einer Datenbank gespeichert, aber daraus regelmäßig statische Inhalte generiert, die der Besucher zu sehen bekommt.
Grüße, Robert
Hallo,
Es gibt aber einen halbwegs guten Grund, weshalb man den Inhalt der CSS-Datei lieber nicht in einer veränderbaren Datei speichern möchte: Sicherheit. Bei den meisten (allen?) Webhosting-Angeboten hat man als Kunde einen normalen User-Account, während der Webserver dieser Gruppe nicht angehört. Umgekehrt, läuft der Server oft mit den Rechten einer Gruppe www (o.ä.), zu der der Kunde nicht gehört. Wenn ich nun eine Datei per Script online editierbar machen möchte, muss ich diese für alle schreibbar machen. Auch wenn man per FTP nicht in die Verzeichnisse anderer Kunden wechseln kann, habe ich bei solchen Dateien immer ein schlechtes Gewissen.
Du meinst, wenn man eine Datei mit chmod 777 für alle schreibbar macht, dann kann ein anderer Kunde, der auf dem gleichen Server ist mit einem Script meine Datei verändern?
Aus diesem Grund werden ja für große Webseiten wie z.B. Zeitungen oder Online-Dienste die Inhalte zwar in einer Datenbank gespeichert, aber daraus regelmäßig statische Inhalte generiert, die der Besucher zu sehen bekommt.
Also ich weiß nicht aber ich dachte eigentlich dass Datenbanken für andere Zwecke entwickelt wurden als um einzelne Dateien abzuspeichern, wobei du dabei sicherlich andere Inhalte meinst als CSS Dateien.
Grüße
Jeena Paradies
Moin!
[…] Bei den meisten (allen?) Webhosting-Angeboten hat man als Kunde einen normalen User-Account, während der Webserver dieser Gruppe nicht angehört. Umgekehrt, läuft der Server oft mit den Rechten einer Gruppe www (o.ä.), zu der der Kunde nicht gehört. Wenn ich nun eine Datei per Script online editierbar machen möchte, muss ich diese für alle schreibbar machen. […]
Du meinst, wenn man eine Datei mit chmod 777 für alle schreibbar macht, dann kann ein anderer Kunde, der auf dem gleichen Server ist mit einem Script meine Datei verändern?
Ohne gewisse Beschränkungen des Admin (bei PHP z.B. open_basedir, siehe PHP Safe Mode) kann bei chmod 777 jeder, der Zugriff auf den Server deines Homepage-Providers hat, auch die Datei verändern. chmod 777 heißt ja nichts Anderes als folgendes ls -l Listing:
-rwxrwxrwx style.css
D.h. die Datei style.css ist für alle lesbar (r), schreibbar (w) und ausführbar (x). Normalerweise sollte für unsere style.css sogar chmod 666 (-rw-rw-rw) reichen.
Aber andererseits ist natürlich die Frage, welcher andere Kunde weiß, dass du einen global veränderbare Datei hast und besitzt die „kriminelle Energie“, diese Datei auch zu manipulieren? Eigentlich kann man dieses Problem nur IMHO sinnvoll in den Griff bekommen, indem der Provider dir einen SSH-Zugriff erlaubt.
Aus diesem Grund werden ja für große Webseiten wie z.B. Zeitungen oder Online-Dienste die Inhalte zwar in einer Datenbank gespeichert, aber daraus regelmäßig statische Inhalte generiert, die der Besucher zu sehen bekommt.
Also ich weiß nicht aber ich dachte eigentlich dass Datenbanken für andere Zwecke entwickelt wurden als um einzelne Dateien abzuspeichern, wobei du dabei sicherlich andere Inhalte meinst als CSS Dateien.
Stimmt, ich bezog mich dabei eher auf komplette Artikel, für die dann der Inhalt, Titel, Datum, Autor(en), … in der Datenbank stehen. Aber selbst Style-Dateien können durchaus berechtigterweise in einer Datenbank stehen, es gibt ja auch Meta-Angaben wie Letztes Änderungsdatum oder Zeichensatz.
Viele Grüße, Robert