[Typo3-german] Re: [Typo3-german] Domain record ohne Wirkung, ... Suche Lösung mit _SERVER["HTTP_X_FORWARDED_HOST"]
Michael Stucki
michael at typo3.org
Thu Sep 22 12:36:14 CEST 2005
Peter Russ wrote:
> das deutet darauf hin, dass der virtual host nicht richtig eingerichtet
> ist, andernfalls müßte sich der Server unter dem Namen melden, der sonst
> unter ServerAlias angegeben ist.
> Wenn Du per .htaccess den Apache beeinflussenkannst, könntest Du einen
> Hack, wenn auch grausam versuchen:
>
> php_value auto_prepend_file init.php
>
> Inhalt von init.php:
> if ($_SERVER["HTTP_X_FORWARDED_HOST"]!='')
> {
> $_SERVER["HTTP_HOST"]=$_SERVER["HTTP_X_FORWARDED_HOST"]
> }
>
> Nicht schön. Aber wenn's schön macht ;-)
Du kannst den Code auch einfach in localconf.php eintragen.
Achte, dass der Code vor dem EDIT POINT TOKEN steht, dann wird dir sicher
nichts überschrieben.
Und wenn Du schon dabei bist:
Ich hatte mit dem ISA-Server mal ein ähnliches Problem: Die REMOTE_ADDR
zeigte auf die IP des Proxies statt des Clients und machte Statistiken
etwas unbrauchbar.
Beim Experimentieren war mir damals aufgefallen, dass die Variable mit isset
geprüft werden sollte (sonst Crashte mein PHP manchmal) und dass der Wert
nicht immer eine IP sondern manchmal auch Namen enthielt - passt irgendwie
zum ISA :-)
Hier ist ein Vorschlag, wie man beide Probleme lösen könnte:
--- cut localconf.php mit Proxy-Server (nur ISA?) ---
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
// Check if HTTP_X_FORWARDED_FOR only contains allowed chars (in other words: it's not a list)
if(ereg('^[0-9\.]+$',$_SERVER['HTTP_X_FORWARDED_FOR'])) {
$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
}
if (isset($_SERVER['HTTP_X_FORWARDED_HOST'])) {
// Check if HTTP_X_FORWARDED_HOST only contains allowed chars (in other words: it's not a list)
if(ereg('^[0-9\.]+$',$_SERVER['HTTP_X_FORWARDED_HOST'])) {
$_SERVER['HTTP_HOST'] = $_SERVER['HTTP_X_FORWARDED_HOST'];
}
}
--- cut ---
Gruss, michael
[1] Alles auf einer Zeile:
## INSTALL SCRIPT EDIT POINT TOKEN - all lines after this points may be
changed by the install script!
--
Use a newsreader! Check out
http://typo3.org/community/mailing-lists/use-a-news-reader/
More information about the TYPO3-german
mailing list