zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden Skript auf jeder Seite einbinden - ohne Verweis auf jeder Seite

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 20.09.2010, 10:15
Benutzerbild von AndreasB
Erfahrener Benutzer
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 29.11.2005
Beiträge: 1.391
AndreasB wird schon bald berühmt werden
Standard [Gelöst] Skript auf jeder Seite einbinden - ohne Verweis auf jeder Seite

Manche PHP-Skripte sollen auf jeder Seite einer Site bereit stehen.

Sie stehen in "default.inc".

Auf jeder Seite existiert eine Zeile, die dieses Skript aufruft:
<?php include ($_SERVER["DOCUMENT_ROOT"] . "/includes/default.inc")?>

Frage:
Kann man "den Server anweisen", diese Datei "default.inc" auf jeder Seite "*.php" einzubinden, sobald sie angefragt wird - ohne dass in der Seite selbst der oben erwähnte Verweis stehen muss?

Motiv:
Prinzipiell finde ich es angenehm, wenn das lokale Dokument möglichst wenige Zeilen Skriptcode enthält.
Im Grunde analog zu dem Konzept der Trennung von Struktur und Gestaltanweisungen.
__________________


Geändert von AndreasB (21.09.2010 um 11:57 Uhr)
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 20.09.2010, 10:30
Benutzerbild von Praktikant
Semantikbremse.
XHTMLforum-Kenner
 
Registriert seit: 22.04.2008
Beiträge: 4.985
Praktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz sein
Standard

Soweit ich weiß geht das nicht.

Prizipiell würde ich dir allerdings empfehlen von der Endung .inc abzusehen und die Dateien lieber in einen Ordner mit dem Namen "inc" zu legen.
Die Endung .inc ist ein Relikt aus vergangenen Tagen als alle Dateien noch in der Root Ebene anzufinden waren.

Bei .inc Dateien muss man den Server halt anweisen sie wie php-Quellcode zu durchlaufen, das muss man bei .php Dateien nicht.
__________________
Rettet die Erde.... sie ist der einzige Planet mit Schokolade!
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 20.09.2010, 11:01
Benutzerbild von AndreasB
Erfahrener Benutzer
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 29.11.2005
Beiträge: 1.391
AndreasB wird schon bald berühmt werden
Standard

Zitat:
Zitat von Praktikant Beitrag anzeigen
Soweit ich weiß geht das nicht.
Schade.
Zitat:
Zitat von Praktikant Beitrag anzeigen
Prizipiell würde ich dir allerdings empfehlen von der Endung .inc abzusehen und die Dateien lieber in einen Ordner mit dem Namen "inc" zu legen.
Die Endung .inc ist ein Relikt aus vergangenen Tagen als alle Dateien noch in der Root Ebene anzufinden waren.

Bei .inc Dateien muss man den Server halt anweisen sie wie php-Quellcode zu durchlaufen, das muss man bei .php Dateien nicht.
Mir wurde vor längerer Zeit mal dringend empfohlen aus Sicherheitsgründen, Includes mit der Endung inc und nicht mit php zu versehen.
Dazu sollte via .htaccess ein Aufrufen ausgeschlossen werden.

.htaccess:
Code:
# Includes duerfen nicht per HTTP aufgerufen werden

    <Files *.inc>
         order allow,deny
         deny from all
    </Files>
So handhabe ich das bisher.

Sicherst Du Deine Includes gegen ein Aufrufen via HTTP?

Zum Ordner für Includes.

Ich hatte bei meinem Webspace-Provider vor längerer Zeit mal angefragt, ob es einen "Standard-Pfad" für Includes gäbe und ich in so einem Fall jede Pfadangabe bei Includes weglassen könne.
Er verneinte.

Daher verwende ich diese sehr längliche Pfadangabe
Code:
$_SERVER["DOCUMENT_ROOT"] . "/includes/
Einen Weg, sie loszuwerden, kenne ich nicht.
__________________

Mit Zitat antworten
  #4 (permalink)  
Alt 20.09.2010, 11:09
Benutzerbild von Praktikant
Semantikbremse.
XHTMLforum-Kenner
 
Registriert seit: 22.04.2008
Beiträge: 4.985
Praktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz sein
Standard

Nein, eine ähnliche Pfadangabe nutze ich ebenfalls.

Meine includes haben in der Regel keine eigenstänige Ausgabe. Es werden mehrere Parameter, Cookies und Konsanten geprüft, wenn nicht alles stimmt wird das Skript auch nicht ausgeführt. Über .htaccess schließe ich bisher keine Zugriffe aus.
Wenn der Server meine php-Dateien im Quellcode ausgibt habe ich ganz andere Probleme....
__________________
Rettet die Erde.... sie ist der einzige Planet mit Schokolade!
Mit Zitat antworten
  #5 (permalink)  
Alt 20.09.2010, 11:43
Benutzerbild von inta
free as in freedom
XHTMLforum-Kenner
 
Registriert seit: 04.12.2006
Ort: Berlin
Beiträge: 5.016
inta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz sein
Standard

Zitat:
Zitat von AndreasB Beitrag anzeigen
Frage:
Kann man "den Server anweisen", diese Datei "default.inc" auf jeder Seite "*.php" einzubinden, sobald sie angefragt wird - ohne dass in der Seite selbst der oben erwähnte Verweis stehen muss?
Ja, das ist mit auto_append_file möglich.

Ich mag diese Lösung nicht sonderlich, da erstens nicht auf den ersten Blick ersichtlich ist woher der Code kommt und zweitens Ausnahmen nur mit einem vorzeitigen exit oder deaktivieren des Autoappends möglich sind.
Mit Zitat antworten
  #6 (permalink)  
Alt 20.09.2010, 11:52
Benutzerbild von Praktikant
Semantikbremse.
XHTMLforum-Kenner
 
Registriert seit: 22.04.2008
Beiträge: 4.985
Praktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz sein
Standard

Zitat:
Zitat von inta Beitrag anzeigen
Ja, das ist mit auto_append_file möglich.

Ich mag diese Lösung nicht sonderlich, da erstens nicht auf den ersten Blick ersichtlich ist woher der Code kommt und zweitens Ausnahmen nur mit einem vorzeitigen exit oder deaktivieren des Autoappends möglich sind.
Das wusste ich nicht, danke für den Hinweis
Gefallen finde ich an der Lösung jedoch genau wie inta nicht. Begründung ist die Selbe.
__________________
Rettet die Erde.... sie ist der einzige Planet mit Schokolade!
Mit Zitat antworten
  #7 (permalink)  
Alt 20.09.2010, 11:56
Benutzerbild von AndreasB
Erfahrener Benutzer
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 29.11.2005
Beiträge: 1.391
AndreasB wird schon bald berühmt werden
Standard

Zitat:
Zitat von inta Beitrag anzeigen
Ja, das ist mit auto_append_file möglich.
Zitat:
Specifies the name of a file that is automatically parsed after the main file. The file is included as if it was called with the require() function, so include_path is used.
Verstehe ich es richtig, dass man dafür Zugriff auf die PHP-Konfiguration auf dem Server haben muss?
(Das ist bei den typischen einfachen Webspace-Angeboten mit PHP nicht der Fall, so auch bei meinem.)

Nützen würde mir ein Verfahren, wo es genügt eine Datei mit einem bestimmten Standardnamen ins Rootverzeichnis der jeweiligen Domain oder Subdomain zu legen und diese würde dann bei jeder Anfrage einer Datei automatisch aufgerufen.
__________________

Mit Zitat antworten
  #8 (permalink)  
Alt 20.09.2010, 13:52
Benutzerbild von heiko_rs
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 18.09.2005
Ort: Berlin
Beiträge: 9.848
heiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von AndreasB Beitrag anzeigen
Mir wurde vor längerer Zeit mal dringend empfohlen aus Sicherheitsgründen, Includes mit der Endung inc und nicht mit php zu versehen.
Dazu sollte via .htaccess ein Aufrufen ausgeschlossen werden.
Man kann dies aber auch anhand des Verzeichnisses ausschließen, in dem sie liegen - bei mir liegen sie alle in /inc und per mod_rewrite wird der Aufruf jeglicher darin befindlicher Dateien unmöglich gemacht.
__________________
Wer keinen Link auf seine problembehaftete Seite posten kann, weil diese noch nicht online ist: Testcase bauen, online stellen, Link posten.
Internet-Grundregel: Unbekannte Begriffe googeln! (Erspart 99% aller Nachfragen.)
Mit Zitat antworten
  #9 (permalink)  
Alt 20.09.2010, 14:06
Benutzerbild von AndreasB
Erfahrener Benutzer
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 29.11.2005
Beiträge: 1.391
AndreasB wird schon bald berühmt werden
Standard

Zitat:
Zitat von heiko_rs Beitrag anzeigen
Man kann dies aber auch anhand des Verzeichnisses ausschließen, in dem sie liegen - bei mir liegen sie alle in /inc und per mod_rewrite wird der Aufruf jeglicher darin befindlicher Dateien unmöglich gemacht.
Hört sich nach einer guten Alternative an.

Seht ihr denn irgendwelchen konkreten Nachteile meiner bisher eingesetzten Methode?
__________________

Mit Zitat antworten
Sponsored Links
  #10 (permalink)  
Alt 20.09.2010, 14:59
Benutzerbild von inta
free as in freedom
XHTMLforum-Kenner
 
Registriert seit: 04.12.2006
Ort: Berlin
Beiträge: 5.016
inta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz sein
Standard

Zitat:
Zitat von AndreasB Beitrag anzeigen
Verstehe ich es richtig, dass man dafür Zugriff auf die PHP-Konfiguration auf dem Server haben muss?
Jein:
Zitat:
Eintrag kann in der php.ini, .htaccess oder httpd.conf gesetzt werden
Hier findest du eine Liste der Konfigurationseinstellungen: PHP: Wo Konfigurationseinstellungen gesetzt werden knnen - Manual

Du kannst also eine htaccess mit folgendem Inhalt in das Verzeichnis deiner Wahl legen:
Code:
<FilesMatch "\.(php)$">
php_value auto_append_file "/pfad/zum/public_html/default.php"
</FilesMatch>
Damit wird allen Dateien, ab dem Verzeichnis wo die htaccess liegt und die auf .php enden, die entsprechende Datei angehängt.
Mit Zitat antworten
Sponsored Links
Antwort


Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Navigation links und oben soll aktive Seite anzeigen Zischel CSS 2 16.02.2007 22:30
Probleme auf Seite für den Mainchat Nightrider CSS 12 08.01.2007 09:49
Webshop in eine Seite einbinden, aber wie? tomi72 (X)HTML 0 03.07.2005 12:46
oper und anker im div Holger (HMR) CSS 25 18.01.2005 13:01
Menü in Seite einbinden Anonymous CSS 2 21.07.2003 11:13


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:00 Uhr.