link mit protokoll wechsel ?? von http zu https !
matthias h.
- html
hallo,
ich habe ein problem. zur zeit betreibe ich einen dynamischen web server,
d.h. die ip adresse wechselt.
auf meiner startseite begrüße ich entsprechende besucher, dann möchte ich per link von z.B:
http://178.200.001.231/index.html z.B. zu
https://gleiche nummer/ssl/start.php wechseln.
in der index.html kann ich natürlich keinen absoluten pfad angeben.
normalerweise würde ich <a href="\ssl\start.php">private-test-zone-ssl</a> angeben.
aber ich muss das protokoll wechseln damit mein apache webserver das auch macht.
brauche z.b. <a href="https:\und hier die nummer\ssl\start.php">private-test-zone-ssl</a>
aber die ip habe ich natürlich nicht in der html seite zur verfügung.
bräuchte jetzt eine idee wie ich einen relativen pfad mit protokollwechsel angebe.
ich würde auch gerne auf javascript und andere sachen verzichten.
leider geht es auch nicht <a href="\ssl\start.php:443
">private-test-zone-ssl</a> einzugeben
weil man dann im http protokoll bleibt und der server nur ein fehler erzeugt.
über eine lösung würde ich mich freuen.
schon mal danke
gruss matthias.h
Moin!
brauche z.b. <a href="https:\und hier die nummer\ssl\start.php">private-test-zone-ssl</a>
aber die ip habe ich natürlich nicht in der html seite zur verfügung.
bräuchte jetzt eine idee wie ich einen relativen pfad mit protokollwechsel angebe.
Sowas gibts nicht. Wenn du das Protokoll angeben mußt, mußt du eine komplette, vollständige und absolute URL angeben.
- Sven Rautenberg
Moin matthias,
da dein Link-Ziel mit .php endet habe ich vielleicht einen Ansatz...
Auf der Startseite fragst du $_SERVER["SERVER_NAME"] ab, was hoffentlich die aktuelle IP deines Servers ergibt... diese sollte sich dann simpel in den Anker einbauen lassen:
echo '<a href="https:\' . $_SERVER["SERVER_NAME"] . '\ssl\start.php">';
Leider weiß ich nicht genau, ob $_SERVER["SERVER_NAME"] tatsächlich die IP ergibt, aber es gibt sicher noch mehr Möglichkeiten als diese die aktuelle IP herauszubekommen.
Erdenklich wäre auch, dass du zwischen Startseite und SSL-Seite eine weitere Seite Zwischenschaltest, die dann $_SERVER["HTTP_REFERER"] abfragt und daraus die IP schneiden kann.
Weitere Denkansätze (wo auch ich meine immer herhole :-) ) hier:
http://www.php.net/manual/en/reserved.variables.php
Sodann.
P.S.: zu meinem Vorgänger ==> GEHT NICHT GIBTS NICHT :-p
Moin!
P.S.: zu meinem Vorgänger ==> GEHT NICHT GIBTS NICHT :-p
Doch, das gibts. Beispielsweise "Rechtsklick mit CGI verhindern", um nur mal ein prominentes Beispiel zu nennen.
- Sven Rautenberg
[snip]
"Rechtsklick mit CGI verhindern", um nur mal ein prominentes Beispiel zu nennen.
- Sven Rautenberg
hm, tja... da ist wieder die Grenze zwischen Sinn und Unsinn zu suchen...
... nur um kurzfristig das letzte Wort zu haben... :-)
Hallo,
echo '<a href="https:\' . $_SERVER["SERVER_NAME"] . '\ssl\start.php">';
Dumme Frage: Seit wann ist denn \ das Pfad-Trennzeichen für URLs? Ich dachte immer, das wäre / Habe ich was verpasst?
Leider weiß ich nicht genau, ob $_SERVER["SERVER_NAME"] tatsächlich die IP ergibt, aber es gibt sicher noch mehr Möglichkeiten als diese die aktuelle IP herauszubekommen.
Ich persönlich verwende immer HTTP_HOST, das ist dann das, was im Browserfenster steht.
Viele Grüße,
Christian
Hi,
echo '<a href="https:\' . $_SERVER["SERVER_NAME"] . '\ssl\start.php">';
Dumme Frage: Seit wann ist denn \ das Pfad-Trennzeichen für URLs? Ich dachte immer, das wäre / Habe ich was verpasst?
Wer sagt denn, daß das korrekt sei?
Natürlich ist das falsch!
cu,
Andreas
Hallo Andreas,
Natürlich ist das falsch!
_Mir_ ist das auch klar, ich wollte das nur etwas netter verpacken. :)
Viele Grüße,
Christian
Hi,
ich wollte das nur etwas netter verpacken. :)
Warum, Christian?
Sowas muß knallhart gesagt werden ;-)
cu,
Andreas
Hallo Andreas,
Sowas muß knallhart gesagt werden ;-)
Wenn Du meinst: In dem von mir gerade zitierten Satz von Dir fehlt ein Satzzeichen. Vorbeugend vor Gegenbelehrungen sollte ich vielleicht noch erwähnen, dass das Posting von mir, auf das Du zuerst geantwortet hast, den gleichen Mangel aufweist. ;-)
Viele Grüße,
Christian
[scnr]
echo '<a href="https:\' . $_SERVER["SERVER_NAME"] . '\ssl\start.php">';
Dumme Frage: Seit wann ist denn \ das Pfad-Trennzeichen für URLs? Ich dachte immer, das wäre / Habe ich was verpasst?
Viele Grüße,
Christian
menno, man wird zu dieser später stund ja wohl mal was "unwichtiges" übersehen dürfen...
Moin,
brauche z.b. <a href="https:\und hier die nummer\ssl\start.php">private-test-zone-ssl</a>
aber die ip habe ich natürlich nicht in der html seite zur verfügung.
bräuchte jetzt eine idee wie ich einen relativen pfad mit protokollwechsel angebe.
Gar nicht. Wenn du den Protokollteil wechselst ist ja keine Garantie mehr gegeben, dass der Rest des URLs auch noch eine gültig Angabe im neuen Protokoll darstellt. Das das bei http: auf https: und zurück funktioniert ist eher Zufallssache. Bei http: und ftp: funktioniert das schon wieder nicht unbedingt (#fragment ist in http aber nicht in ftp erlaubt, user:pass@ dafür in ftp und nicht in http) und von Sachen wie mailto: oder news: will ich gar nicht erst anfangen.
Selbst wenn du mit PHP einen neuen URL mit der Addresse bildest wirst du vermutlich ein weiteres Problem bekommen: Da das SSL-Zertifikat in der Regel auf einen Hostnamen ausgestellt wird, bekommst du eine fette Warnung vom Browser sobald sich die IP-Addresse (und damit der Hostnamensersatz) ändert.
Die in jedem Fall beste Lösung ist hier wohl die Nutzung eines DynDNS-Service, wie zum Beispiel http://www.dyndns.org. Da bekommst du einen Hostnamen und kannst darauf dann dein Serverzertifikat machen. Nette Nebeneffekte: Du hast einen voll qualifizierten Hostnamen den du (und dein Server bei Redirects) in absoluten URLs verwenden kannst und die IP-Addresse brauchst du dir auch nicht zu merken.
vielen dank für deine erläuterung,
so habe ich mir eine antwort vorgestellt.
jetzt ist mir einiges klarer. thanx auch an @sebastian, diese
idee doch php einzubinden werde ich ja übernehmen müssen,
da mir html keine lösung bietet. (ist mir jetzt auch klar warum ;-)
das mit dem sicherheitszertifikat stört mich nicht,
da ich den server nur privat betreibe und wenn ich das dingen
im browser chache als ok einstufe nervt es auch in der zukunft
nicht mehr.
herzlichen dank für die diskussion.
mfg matthias
Hallo,
einen voll qualifizierten Hostnamen
Ich habe schon mitunter konträre Übersetzungen von FQDN gelesen (bspw. »vollständiger«, »eindeutiger«, »universeller«, »gültiger« Hostname), aber diese wörtliche Übersetzung erscheint mir ziemlich sinnentstellend. ;) Obwohl es, wenn das Fremdwort in transparentes Deutsch übersetzt würde, »voll geeigneter/passender Hostname« bedeuten könnte, was aber erst einer Deutung bedarf. Wie auch immer, alle denkbaren Möglichkeiten sind m.E. verständlicher und treffender als »voll qualifiziert«. ;)
Mathias