[ul]
[li]Ich habe eine kleine „index.html“-Seite auf einen IPS-Webserver gebracht.
[/li][li]Der root des-IPS Webservers ist in einem Directory namens „\IP-Symcon\ZugangWeb“.
[/li][li]Die Form Action von index.html übergibt ein Haufen Parameter an „48745.ips.php“, welche eine Latte IPS-spezifische Aktionen triggert, Schalter schaltet, etc. etc.
[/li][/ul]
Das Problem ist folgendes:
[ol]
[li]Wenn ich „48745.ips.php“ vom Directory „\IP-Symcon\ZugangWeb“ auf „\IP-Symcon\scripts“ kopiere, funktioniert alles prima.
[/li][li]Wenn ich dann im Directory „\IP-Symcon\ZugangWeb“ die Datei „48745.ips.php“ umbenenne in „ProcessForm.php“, und die Form Action von Index.html entsprechend anpasse, dann geschehen die normalen PHP-Befehle (echo etc.) aber IPS wird nicht getriggert.
[/li][li]Wenn ich die Kopie von „48745.ips.php“ vom Directory „\IP-Symcon\ZugangWeb“ lösche und nur noch auf „\IP-Symcon\scripts“ behalte, dann läuft nichts mehr.
[/li][/ol]
Meine Frage ist: wie kann ich vom Webserver „\IP-Symcon\ZugangWeb“ auf Scripte zugreifen, welche in „\IP-Symcon\scripts“ enthalten sind? Das ganze hat auch eine Sicherheitskomponente: ich möchte nicht unbedingt die ganze PHP-Scripte dem grossen weiten Web offenlegen.
der IPS-Webserver sollte untouchable sein! Für uns User quasi eine Black-Box! Alles Andere ist weder wartbar noch trobleshooting-fähig. Hast Du eigentlich geplant, keine IPS-Updates mehr zu machen?
Hmmm… IPS kann ja mehrere Webserver installieren. Müssen die wirklich alle in webfront/user installiert werden? Die Instanz erlaubt im Prinzip, die root in einem beliebigen neuen Unterverzeichnis von \IP-Symcon\ zu installieren. Die Installation in /ZugangWeb/ funktionierte übrigens auch (wenn auch mit gewissen Idiosynchrasien).
Wirklich? Ich meine aber die installierbaren Webserver-Instanzen, nicht die Webfront.
Ich möchte dazu übergehen, meine „eigene Webfront“ mit Dreamweaver zu basteln. Die IPS-Webfront ist fantastisch für Visualisierungen - aber die Flexibilität ist doch etwas begrenzt, und die Performance ist mit jener von schlichtem HTML nicht vergleichbar.
Danke nagus. Das scheint bei mir auch zu funktionieren! Ich komme aber sicher nochmals auf Euch zu, sobald ich in die nächste Sackgasse mit meinem Projekt lande…
Tschüss, AAG
Komme langsam, aber stetig vorwärts. Die PHP-Einschübe in meine Eigenbau-Webseite scheinen zu funktionieren.
Insgesamt scheint mir diese Lösung flexibler zu sein, als die Webfront. Meine ursprüngliche Motivation war, dass ich keine „blinden“ Passwörter in die Webfront schreiben konnte, und dass die Onscreen-Tastatur auf Android nicht wirklich funktionsfähig ist.
Die entsprechenden HTML und PHP snippets werden zur Verfügung gestellt, sobald sie in einem präsentablen Zustand sind (dauert noch ein Weilchen).
Diese Dinge sind nun gelöst. Aber ich bin sicher, dass ich noch in irgendeine unvorhergesehene Falle tappen werde. Fortsetzung folgt!
Wenn ich habe den selben snippet in eine vollständige Webseite einbinde (Code unten, eingebettet ab line 34), bekomme ich den Fehler „Warning: Cannot modify header information - headers already sent by (output started at C:\IP-Symcon\webfront\user\page3.php:34) in C:\IP-Symcon\webfront\user\page3.php on line 38“.
Weiss jemand, wo der Haken liegt? Ich werde bald wahnsinnig dabei…
danke Ralf, für die Erste Hilfe, die ich sehr schätze! Den Header wegzulassen, hatte ich eigentlich auch schon probiert. Allerdings kommt dann ein riesiger Zeichensalat: „�PNG IHDR ^�� etc. etc.“, d.h. der Browser erkennt nicht, dass er ein Bild dekodieren soll…
Ich schalte, indem ich einen Link auf eine Folgeseite setze, die nur zum ausführen von befehlen angelegt ist und automatisch wieder zur Ausgangsseite schaltet:
<?
if ($_SERVER['QUERY_STRING'] != '') {
$daten = $_GET['id'];
switch ($daten) {
case 1 : //
// hier wird beispiel 1 geschaltet....
break;
case 2 : //
// hier wird dann beispiel 2 geschaltet....
break;
}
}
<head>
<? echo '<meta http-equiv="refresh" content="0; URL=http://'.$HTTP_HOST.'/index.php">'; ?>
<!-- ... andere Angaben im Dateikopf ... -->
</head>
</body></html>
vielen Dank für diesen interessanten Beispiel. Ich sollte vorweg nehmen, dass diese meine ersten Schritte sind in der HTML-Programmierung - und deswegen bitte ich vorsorglich um Nachsicht mit meiner Naïvität!
Mir scheint, dass Deine Lösung einen Link anbietet, welcher gewisse PHP-Skripte aufruft wenn geklickt.
Ich will aber etwas viel Simpleres tun! Ich will lediglich eine PNG-Graphik auf der Webpage darstellen, wobei sich die Graphik in einem Directory ausserhalb der Root (und ihrer Kinder-Directories) befindet. Deswegen dachte ich, dass ein Client-seitiges tag diese File nicht holen kann. Aus diesem Grunde wollte ich mit einem (Server-seitigen) PHP-snippet die Imagefile holen. Leider scheitere ich an mein Unwissen, wie ich das bewerkstelligen soll!
Dein PHP Script zum Einbinden eines Bild sollte funktionieren.
Allerdings musst du es in eine seperate php Datei schreiben und diese dann über <img src=„img.php“ /> einbinden.
@Rolf-L: Das Redirect würde ich per PHP header(„Location: xxxx“); gestalten. Das geht schneller und transparent.
Der entscheidende Vorteil dieser Anordnung ist für mich, dass die abzubildenden Files in einem geschützten, vom Webserver getrennten Bereich liegen können.
Pass bitte mit sowas auf. Es ist durch ähnliche Konstruktionen schon möglich gewesen Systempasswortdateien auszulesen. Also unbedingt eine Abfrage machen: