SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Der CSS-Problemlöser

Der CSS-Problemlöser zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 21.02.2014, 14:50:27
Auf der Mauer Auf der Mauer ist offline
Anfänger
 
Registriert seit: Jun 2009
Alter: 42
Beiträge: 119
Server Variablen

Hallo,

wenn ich es richtig verstanden habe, dann sind nicht alle Server Variablen sicher.
Der Document Root wird aber doch durch den Server selbst gesetzt, oder?

PHP-Code:
   // root dir for including files   
      
define("ROOT_DIR"$_SERVER["DOCUMENT_ROOT"] . "/");  
      
   
// website adresse for header location 
      
define("URL""http://" $_SERVER["HTTP_HOST"] . "/"); 
Ich möchte diese gerne im gesamten Projekt für Includes und Weiterleitungen nutzen.
Wir hatten es ja schonmal vor einer Weile, dass ich bei Weiterleitungen keinen absoluten Pfad angegeben habe,
was laut Dokumentation nicht richtig ist. Funktioniert zwar in allen von mir getesteten Browsern aber wenn es auch anders geht,
dann möchte ich es schon gerne richtig machen. Die Werte könnten natürlich auch manuell gesetzt werden, aber
wenn der Provider etwas ändert, dann stimmt dass Ganze wohl nicht mehr. Deshalb würde ich es gerne automatisch
auslesen und nutzen.

PHP-Code:
   // include from (/users/name/www/)
      
require_once(ROOT_DIR "folder/file.php"); 

   
// header location (http://www.xyz.de/)
      
header("Location: " URL "folder/file.php"); 
Ich habe das so getetstet und es funktioniert auf dem Server. Jetzt muss ich
doch noch die Server Variablen absichern?

Gruß
Auf der Mauer
Mit Zitat antworten
  #2  
Alt 25.02.2014, 12:53:15
Ckaos Ckaos ist offline
Member
 
Registriert seit: Nov 2007
Beiträge: 843
AW: Server Variablen

Hi,

warum nicht anstatt
PHP-Code:
$_SERVER["DOCUMENT_ROOT"
PHP-Code:
dirname(__FILE__
Ich persönlich würde nicht
PHP-Code:
$_SERVER["HTTP_HOST"
benutzen/mich darauf verlassen!

Bei Hoster/Projekt wechseel ist in der Hauptconf der Host zu setzen kein Problem.

MfG

CKaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
Mit Zitat antworten
  #3  
Alt 25.02.2014, 18:50:50
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Server Variablen

Zitat:
Zitat von Ckaos Beitrag anzeigen
warum nicht anstatt
PHP-Code:
$_SERVER["DOCUMENT_ROOT"
PHP-Code:
dirname(__FILE__
Kommt darauf an, was man wissen will.
$_SERVER["DOCUMENT_ROOT"] liefert das documente_root aus der Apacheconfig.
dirname(__file__) oder __dir__ liefert das Verzeichnis, in dem sich das file befindet, in dem der Schnipsel steht.
Zitat:
Ich persönlich würde nicht
PHP-Code:
$_SERVER["HTTP_HOST"
benutzen/mich darauf verlassen!
$_SERVER['SERVER_NAME']
Zitat:
Bei Hoster/Projekt wechseel ist in der Hauptconf der Host zu setzen kein Problem.
Wenn man den Hoster wechselt, nimmt man doch die Domain idR. mit.

Zum Thema:
alle Daten, die vom User kommen, müssen validiert werden. Ganz dumm ist $_SERVER['PHP_SELF'], weil da $_SERVER['PATH_INFO'] angehängt wird.
Deshalb nimmt man $_SERVER["SCRIPT_NAME"].

Die anderen bösen Variablen heißen:
$_FILES['formular_name']['type'] = diese Angabe stammt vom Client und muß zwingend überprüft werden
$_FILES['formular_name']['name'] = auch diese Angabe stammt vom Client und muß zwingend überprüft werden. Ebenfalls wichtig ist ein rawurlencoded(), falls der Name zeichen enthält, die nicht URL konform sind.
Beachtet werden muß dabei, daß der tmp Name nur für dieses Script und diesem Request gültig ist. Danach isses entweder weg oder Linux legt den Daumen dazwischen.

Geändert von meikel (†) (25.02.2014 um 19:08:35 Uhr)
Mit Zitat antworten
  #4  
Alt 26.02.2014, 08:00:25
Ckaos Ckaos ist offline
Member
 
Registriert seit: Nov 2007
Beiträge: 843
AW: Server Variablen

Hi,

Zitat:
Kommt darauf an, was man wissen will.
Jab, aber bei seinem Bsp. scheints nur um "includes" zu gehen.

Zitat:
Wenn man den Hoster wechselt, nimmt man doch die Domain idR. mit.
Ja aber wenn man das mehrfach danach nutzen möchte fand ich das bisher am einfachsten.

Gegen $_SERVER['SERVER_NAME'] ist natüröich nix zu sagen ;)

MfG

CKaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
Mit Zitat antworten
  #5  
Alt 26.02.2014, 13:08:12
Auf der Mauer Auf der Mauer ist offline
Anfänger
 
Registriert seit: Jun 2009
Alter: 42
Beiträge: 119
AW: Server Variablen

Hallo,

vielen Dank für die Antworten!
Also Document Root scheint mir in meinem Fall richtig zu sein.

Mal ein Beispiel:

Das Hauptverzeichnis beinhaltet Verzeichnisse

*core
*pages
*style

usw.

In dem core Ordner liegt eine framework.php.
Darin mittels $_SERVER["DOCUMENT_ROOT"] angegeben der Pfad zum Hauptverzeichnis.
Ergibt sowas wie (/users/name/www/).

Die framework.php ist in allen Dateien eingebunden. Includes funktionieren jetzt mit
INC_PATH . "file.php";

Wobei in INC_PATH zum Beispiel das Wurzelvereichnis + der Includpfad enthalten ist,
der an anderer Stelle definiert wurde.

$_SERVER["SERVER_NAME"] scheint mir besser geeignet zu sein. Ich werde es einbauen.

Gruß
Auf der Mauer
Mit Zitat antworten
  #6  
Alt 27.02.2014, 12:41:38
Auf der Mauer Auf der Mauer ist offline
Anfänger
 
Registriert seit: Jun 2009
Alter: 42
Beiträge: 119
AW: Server Variablen

Hallo,

$_SERVER["SERVER_NAME"] wird wohl von $_SERVER["HTTP_HOST"] beeinflusst.
Wenn letzteres leer ist, dann ist auch ersteres leer.

Sollte in jedem Fall vor der Benutzung gesichert und bei der Ausgabe gesäubert
werden. $_SERVER["DOCUMENT_ROOT"] scheint aber sauber zu sein. Der Wert wird durch den Server gesetzt.
Wobei man nicht immer sicher sein kann, dass der Wert gesetzt ist. Bei einem ordentlichen Server sollte
dies aber wohl so sein.

Gruß
Auf der Mauer
Mit Zitat antworten
  #7  
Alt 27.02.2014, 16:09:21
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Server Variablen

Zitat:
Zitat von Auf der Mauer Beitrag anzeigen
$_SERVER["SERVER_NAME"] wird wohl von $_SERVER["HTTP_HOST"] beeinflusst.
Wenn letzteres leer ist, dann ist auch ersteres leer.
Eigentlich nicht. $_SERVER["SERVER_NAME"] ist die PHP Version von
Code:
serverName example.com
serverAlias example.net
aus der ApacheConfig.
Zitat:
$_SERVER["DOCUMENT_ROOT"] scheint aber sauber zu sein. Der Wert wird durch den Server gesetzt.
Vom Indianer, um genau zu sein. Ich betone das deshalb, weil es auch noch andere Webserver gibt. Was die dann an PHP (serverAPI (fast)CGI) melden, weiß ich nicht.
Zitat:
Wobei man nicht immer sicher sein kann, dass der Wert gesetzt ist. Bei einem ordentlichen Server sollte dies aber wohl so sein.
Ein Server, bei dem DocumentRoot nicht gesetzt ist oder auf '/' steht, gehört nicht ins Netz sondern in die Tonne.
Mit Zitat antworten
  #8  
Alt 27.02.2014, 16:20:38
Auf der Mauer Auf der Mauer ist offline
Anfänger
 
Registriert seit: Jun 2009
Alter: 42
Beiträge: 119
AW: Server Variablen

Hallo,

ich hatte das aus dieser Seite so verstanden.
http://shiflett.org/blog/2006/mar/se...rsus-http-host

Mhh ja, keine Ahnung was andere Webserver PHP melden würden.
Dabei ist dieser Document Root ja extrem wichtig wenn die eigenen
Skripte sauber laufen sollen.

Der Anbieter könnte ja unter Umständen auch Veränderungen vornehmen,
wodurch eine statische Document Root Angabee im Code nicht mehr gelten würde.
Deshalb möchte ich es bei mir auch gerne so anpassen, dass sich mein System
den Document Root automatisch besorgt.

Gruß
Auf der Mauer
Mit Zitat antworten
  #9  
Alt 05.04.2014, 11:20:15
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Server Variablen

Zitat:
Zitat von Auf der Mauer Beitrag anzeigen
Der Anbieter könnte ja unter Umständen auch Veränderungen vornehmen, wodurch eine statische Document Root Angabee im Code nicht mehr gelten würde.
Verwende entweder $_SERVER['DOCUMENT_ROOT'] oder dirname(__file__) bzw. __dir__.
http://de1.php.net/manual/de/languag...predefined.php
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Aufruf der Domain nicht möglich - Internal Server Error nosmoke2 Apache HTTP-Server 1 04.10.2013 15:33:12
Brauche Hilfe Partygirl MySQLi/PDO/(MySQL) 10 01.03.2011 08:18:11
Session Variablen auf SSL Server cooperation PHP für Fortgeschrittene und Experten 12 20.01.2005 00:10:20
Variablen an Formular, von Formular plus neue Variablen an Dokument Alf PHP für Fortgeschrittene und Experten 2 01.12.2002 17:10:09
Keine POST und GET Variablen auf lokalem Apache HS-78 PHP Grundlagen 7 12.06.2002 10:53:57


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:32:33 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt