anzeige
php page - style aus html - inhalt aus txt
Seite: 1 2 3 4 5 6 7
| Autor | Beitrag |
|
Teegee 20.01.09 - 20:53:19 Uhr |
Moin zusammen. Ich bräuchte hilfe bei nem simplen php Dokument, welches den Style und die Gliederung aus HTML einliest (evtl direkt in die php datei einbinden) und dann den zentralen Text der Seite / den eigentlichen Inhalt, aus einer externen (z.B.) html oder txt datei einliest und dann dies als eine Seite rausgibt. Könnt ihr mir da helfen? Bin net der grosse php künstler. |
|
Abgemeldet 20.01.09 - 21:12:31 Uhr |
Wie genau das ganze laufen soll, kannst du selber entscheiden. Einbinden tut man so:
Die Endung dabei ist egal. Du kannst auch aussenrum noch anderen Code schreiben. |
|
Teegee 20.01.09 - 21:21:40 Uhr |
soviel konnte ich abschätzen. aber wie gestalte ich ein php dokument mit dem titel index.php mit dem dazugehörigen layout (html) und so dass wenn ich jetzt index.php?page=main aufrufe dass mir der Inhalt von main geladen wird, bei index.php?page=impressum dann das impressumsinhalt etc. aber das eigentliche design nur aus einer datei geholt wird. |
|
Abgemeldet 20.01.09 - 21:37:33 Uhr |
Also, du machst eine php Datei, in die kommt alles ausser dem eingebundenen Text;
Dabei wird bei ?page=asf die Datei asf.html included. Die Überprüfung mit is_file sorgt dafür, dass keine Fehler ausgelöst werden und keine externen Dateien eingebunden werden (Sicherheit). |
|
Teegee 20.01.09 - 21:45:04 Uhr |
habs noch minim ergänzt bekommen von gunni
danke euch allen |
|
feuerfuchs 20.01.09 - 22:27:06 Uhr |
Scheiße... mein alter Post ist weg... deswegen Schnellfassung. Der Code oben gefällt mir so nicht. Du hast zwar ein bisschen Schutz durch das is_file(), aber es ist trotzdem besser, grundsätzlich kein Vertrauen in Variablen aus GPC zu haben. Deswegen in einem Array die Zuordnung von GET-Parameter zu Datei machen. (an dieser Stelle hatte ich einen schönen Quellcodeschnipsel...) Desweiteren würde ich empfehlen, statt include() einfach file_get_contents() zu benutzen, wenn du auf den Seiten ohnehin kein PHP benutzen willst - schneller und sicherer. ![]() _________ Benutzt den Pytal-Chat! PyFix RSS-Feed |
|
SammysHP 20.01.09 - 22:39:20 Uhr |
Bei mir läuft das alles über XML und simplexml und in den XML-Dateien ist sogar noch php-Code ![]() Aber hat ja jetzt nichts mit dem Thema zu tun. Ich frage mich trotzdem, wo genau jetzt die Sicherheitslücke ist, denn in etwa genauso habe ich es umgesetzt... ![]()
Das Unterverzeichnis selbst ist mit "Deny from all" geschützt. Kann man über die Variable Code einschleusen? Und wenn ja, wie sollte ich die am besten filtern? .. ist schonmal uninteressant, weil die Dateiendung ja einmalig ist. |
|
Abgemeldet 20.01.09 - 22:55:04 Uhr |
Eine direkte Gefahr geht auf jeden Fall nicht aus. Es könnte allerdings was passieren. Du musst dir nur mal vorstellen, dass auch Config Dateien eingebunden werden können, sowie jedliche Art von Textdateien, z.B. die .htaccess. Filtern ? Die ganzen Dateien in ein Unterverzeichniss zu packen und dann den Zugriff auf dieses Verzeichniss zu beschränken (".." verhindern) sollte reichen.
Ich muss allerdings feuerfuchs zustimmen, wenn die Seite eh nur statisch ist, machen nicht-php-Dateien mehr Sinn, ?page=asdf nur wegen dem Coolness-Faktor ist lächerlich. |
|
SammysHP 20.01.09 - 23:01:02 Uhr |
Andere Dateien vom Server können ja nicht eingelesen werden, außer sie haben die Dateiendung ".seitentyp.xml". Außerdem würde simplexml mit einem php-Fehler abbrechen, wenn es keine xml-Datei ist (ich weiß, unschön gelöst mit dem php-Fehler, sollte aber eh nicht auftreten). Die ".." rauszufiltern werde ich ergänzen. Hatte ich aufgrund der oben genannten Punkte nicht für so wichtig gehalten ![]() Zitat: Da braucht man doch noch nicht einmal php, mod_rewrite reicht doch schon Ich muss allerdings feuerfuchs zustimmen, wenn die Seite eh nur statisch ist, machen nicht-php-Dateien mehr Sinn, ?page=asdf nur wegen dem Coolness-Faktor ist lächerlich. ![]() //edit: OMG! Das überprüfe ich doch schon mit htaccess direkt beim Query
[a-zA-Z0-9_]
|
|
Abgemeldet 20.01.09 - 23:09:53 Uhr |
Man weiß nie, ob eine Endung reicht, wegen Nullbyte und so. Und ich weiß auch nicht, was passiert, wenn man einen Hash anhängt (okay, das geht nur ohne is_file, aber trotzdem :P). Und nein, du überprüfst das noch nicht mit der htaccess. Man kann die Datei immernoch direkt aufrufen. |
- Obige Beiträge stellen keine Äußerung oder Meinung von Pytal oder dessen Betreiber dar -





