per include *.php vom localhost-Heimrechner ins www einbinden
Simone
- php
0 backbone0 Simone
0 Christoph Schnauß0 aw0 MudGuard
Hi
Ich bin mal wieder hier im Forum gelandet
(Google kann mir zu diesen Problem keine Hilfe bieten)
Ist es möglich vom "Heimrechner" Daten per include in eine www Anwendung einzufügen?
mit javascript kann ich aus der WWW-Seite auf meine Datei zugreifen
Geht das auch mit php?
Als Testzweck hab ich das mal probiert
<?
include ("http://127.0.0.1/bilder/bildergalerie1.php" )
// geht nicht !
?>
<a href="javascript:void(0)" onClick=window.open("http://127.0.0.1/bilder/bildergalerie1.php",'HomeMM','width=440px,height=480px,scrollbars=yes')>Die bilder öffnen</a>
-------------------------------------------------------------
Simone
PS: bin für alle Antworten dankbar
hi!
liegt sicher an den chmod-einstellungen deiner datei bzw. deines
servers. und wenn du das mit der ip: 127.0.0.1 probiert hast dürfte es
eigentlich auch nicht mit javascript funktionieren.
tschau
Glaub ich nicht so richtig!
Javascript funktioniert. Vielleicht weil ich die IP meines localhost'es anspreche und es demnach auf meinen eingerichteten Apache läuft.
Das könnte logisch sein, oder?
Jedenfalls suche ich eine Möglichkeit auf PHP Programm-Datein meines Localhostes zuzugreifen. vom WWW ---> Heimrechner---> ins WWW
Simone
hallo Simone,
Ist es möglich vom "Heimrechner" Daten per include in eine www Anwendung einzufügen?
Mit ein paar Verrenkungen sollte das möglich sein, ist aber unklug.
mit javascript kann ich aus der WWW-Seite auf meine Datei zugreifen
Oh. Ja, vielleicht kannst _du_ das, aber kann es auch jeder beliebige Besucher dieser www-Seite (offensichtlich wünschst du das ja)?
<?
include ("http://127.0.0.1/bilder/bildergalerie1.php" )
// geht nicht !
?>
Kann auch nicht "gehen", weil die 127.0.0.1 deine "loopback"-Adresse ist und für keine anderen Zwecke verfügbar.
<a href="javascript:void(0)" onClick=window.open("http://127.0.0.1/bilder/bildergalerie1.php",'HomeMM','width=440px,height=480px,scrollbars=yes')>Die bilder öffnen</a>
Das funktioniert ausdrücklich _nur dann_, wenn dein Seitenbesucher selbst auf seinem eigenen Rechner mit Hilfe eines lokal installierten Webservers auf http://127.0.0.1/bilder/bildergalerie1.php exakt das vorfindet, was du auf deinem Rechner hast.
Möglich wäre (obwohl ich persönlich mich damit nicht anfreunden kann), daß du deinen Rechner per dyndns im Internet verfügbar machst und dann eben anstelle von 127.0.0.1 deinen Hostnamen bzw. Servernamen vorgibst. Aber dein Rechner zuhause wird in der Regel nicht 364 Tage pro Jahr ununterbrochen Tag und Nacht verfügbar sein, die Maschinen der Internetprovider sind das jedoch. Also ist es grundsätzlich richtiger, den eigenen Rechner einfach "auszulassen" und alles, was man veröffentlichen möchte, beim Provider hochzuladen.
Grüße aus Berlin
Christoph S.
HI Christoph S.
Erstmal Dank!
Das Sicherheitsrisko ist relativ hoch, da muss ich Dir zustimmen.
Ich wollte die Funktionen nutzen um Daten einzupflegen (Heimrechner)und dann ins WWW zu schicken. Ein Adminbereich der "geschützt" ist.
Mein www Server läuft im Save Modus und erlaubt mir keinerlei "Spielerein" .
Also steh' ich vor dem Problem Daten online einpflegen zu müssen.
Oder per PHP Myadmin hochzuladen und das ist nicht so tool.
Bestimmte fsockopen Funktionen bekomme ich auf mein WWW Server einfach nicht zu laufen.
Das ist der eigentliche Knackpunkt.
.........................
Das funktioniert ausdrücklich _nur dann_, wenn dein Seitenbesucher selbst auf seinem eigenen Rechner mit Hilfe eines lokal installierten Webservers auf http://127.0.0.1/bilder/bildergalerie1.php exakt das vorfindet, was du auf deinem Rechner hast.
.........................
Das könnte als Ansatz funktionieren
window.opener.
dürfte eine Möglichkeit sein?
Simone
hallo Simone,
Ich wollte die Funktionen nutzen um Daten einzupflegen (Heimrechner)und dann ins WWW zu schicken. Ein Adminbereich der "geschützt" ist.
Das ist noch keine Begründung, auch wenn ich das verstehen kann. Wenn du einen einigermaßen zuverlässigen Hoster hast, wird er dir gestatten, in deinem Webspace selbst (also nicht nur auf dem lokalen Rechner) einen paßwortgeschützten "Admin-Bereich" einzurichten. Das ist meist sogar deutlich sicherer, als den eigenen Rechner per dyndns (oder über eine andere Methode) online zu stellen.
Mein www Server läuft im Save Modus und erlaubt mir keinerlei "Spielerein" .
Bitte konkret, damit wir über dasselbe reden: "mein www Server" ist dein Provider oder ist das dein lokal installierter Webserver? Wenns der lokal installierte Server ist, kannst du den "Save Modus" aufheben.
Ich bin auch nicht sicher, ob wir unter "Save Mode" unbedingt dasselbe verstehen müssen. Mein lokaler Webserver läuft auch im "save mode", macht mir aber keine Probleme ;-)
Also steh' ich vor dem Problem Daten online einpflegen zu müssen.
Oder per PHP Myadmin hochzuladen und das ist nicht so tool.
Warum nicht? Wie oft verändern sich diese Daten, wie schnell geht das, wie groß wird eventuell der erzeugte Traffic und warum muß es PHPMyadmin sein? Geht es nicht auch per FTP?
Bestimmte fsockopen Funktionen bekomme ich auf mein WWW Server einfach nicht zu laufen. Das ist der eigentliche Knackpunkt.
Nochmal: falls "mein WWW Server" dein Provider ist, dann sollte er dir auch mitgeteilt haben, was er überhaupt für zulässig hält. Es gibt Provider, die bestimmte Funktionen (auch fsockopen) von vorneherein nicht erlauben, und dann kannst du machen, was du willst, das kriegst du nicht über den "Umweg" über den eigenen Rechner hin.
window.opener.
dürfte eine Möglichkeit sein?
ähm, ja, in Javascript. Aber was hat das mit deinem PHP-Problem zu tun?
Grüße aus Berlin
Christoph S.
HI Christoph
Das was ich hier gepostet habe klingt alles etwas ... naja.
Also mit Save Modus mein ich natürlich nicht den den lokalen Rechner.
Save Modus für mein Webspace das ist schon ok. Eine Großzahl der dir bzw. Verzeichniss und upload Funktionen sind deaktiviert.
es sei den
...............
$DOCUMENT_ROOT".dirname($PHP_SELF)
...............
das geht auch im Save Modus
---------------------------------------
Was ich unbedingt hin bekommen muss ist diese Socketfunktion
weil ich daraus Content für meine Seiten erzeuge.
Auszug Funktion:
if (!empty ($dirname1))
{
//$cmd="v.bat";
//system($cmd);
// echo "$dirname1";
$avartref = explode(" ", $dirname1 );
$len11 = count($avartref);
for ($i=0; $i<$len11; $i++)
if (!empty ($avartref[$i]))
{
$s .= $avartref[$i]."+";
}
$GrabURL ="http://www.gle.com/search?sourceid=navclient&hl=de&q=$s";
$sockhandle = fsockopen("www.gle.com", 80, &$errno, &$errstr);
if(!$sockhandle) {
print "server not available!";
} else {
$request = "GET $GrabURL HTTP/1.1\r\n";
$request .= "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)\r\n";
$request .= "Host: www.gle.com\r\n";
$request .= "Connection: Close\r\n\r\n";
fputs($sockhandle, $request);
$line = fgets($sockhandle, 1024); //Request Method
$line = fgets($sockhandle, 1024); //Close Method
$line = fgets($sockhandle, 1024); //Server Type
$line = fgets($sockhandle, 1024); //Date
$line = fgets($sockhandle, 1024); //Transfer-Encoding
$line = fgets($sockhandle, 1024); //Content-Type
$line = fgets($sockhandle, 1024); //Cache-control
$line = fgets($sockhandle, 1024); //Set-Cookie
$line = fgets($sockhandle, 1024); //End Header "space"
$content1 = "";
while (!feof($sockhandle)) {
$line = fgets($sockhandle, 1024); //Packet length
$length = hexdec($line);
$content1 .= fread($sockhandle, $length); //Packet data
}
echo $content1;
// $yafp = fopen(glogfil.".rw",
// "w-");
// fputs($yafp,$content1);
// fclose($yafp);
}
fclose($sockhandle);
und soweiter.....
Und genau das geht nur auf meinen lockalen Rechner !
und nicht im WWW
window.opener.
dürfte eine Möglichkeit sein?
ähm, ja, in Javascript. Aber was hat das mit deinem PHP-Problem zu tun?
Wenn ich aus Javascript werte in PHP übergebe sollte es eine Möglichkeit sein
Simone
hallo Simone,
Das was ich hier gepostet habe klingt alles etwas ... naja.
Ok, Einsicht ist der erste Schritt auf dem Weg zur Besserung ;-)
Save Modus für mein Webspace das ist schon ok. Eine Großzahl der dir bzw. Verzeichniss und upload Funktionen sind deaktiviert.
Das ist zu ungenau. Aber wie ich bereits angemerkt habe: es ist Sache deines Providers, zu entscheiden, was er für zulässig hält.
$DOCUMENT_ROOT".dirname($PHP_SELF)
das geht auch im Save Modus
Es gibt ein paar Umgebungsvariablen, die gewissermaßen als "Herzstück" funktionieren und unverzichtbar sind, und die hier gehört dazu.
Was ich unbedingt hin bekommen muss ist diese Socketfunktion
weil ich daraus Content für meine Seiten erzeuge.
Wenns dein Provider nicht erlaubt, kannst du zappeln wie du möchtest.
Lies dir auch bitte durch, was Andreas in [pref:t=51128&m=280728] angegeben hat.
window.opener. dürfte eine Möglichkeit sein?
ähm, ja, in Javascript. Aber was hat das mit deinem PHP-Problem zu tun?
Wenn ich aus Javascript werte in PHP übergebe sollte es eine Möglichkeit sein
Ja, aber nur prinzipiell. Ob du das "Prinzip" einhältst, kann ich auch an deinem mitgelieferten (und von mir jetzt wieder rausgeschnipselten) Code nicht erkennen.
Christoph S.
HI Christoph
.................
Was ich unbedingt hin bekommen muss ist diese Socketfunktion
weil ich daraus Content für meine Seiten erzeuge.
Wenns dein Provider nicht erlaubt, kannst du zappeln wie du möchtest.
.................
Gibt es eine PHP Testfunktion für den Socket Befehl bzw. steht das was zugelassen ist in der
info PHP
wo kann ich genau ersehen welche Funktionen im Save Modus nicht möglich sind.
Lies dir auch bitte durch, was Andreas in ?t=51128&m=280728 angegeben hat.
Das verstehe ich nicht!
Kannst Du mir das mal erklären?
Danke
Simone
hallo Simone,
Gibt es eine PHP Testfunktion für den Socket Befehl
Jaein. Ob es eine "unmittelbare" Testfunktion gibt, weiß ich nicht. Aber du kannst dir ja ein Script schreiben, mit dem du diese "fsockopen" einsetzt und mit einer "if/else"-Abfrage und einem alert bei else anzeigen läßt, obs geklappt hat.
bzw. steht das was zugelassen ist in der info PHP
In info.php steht unglaublich viel drin, unter anderem auch alles, was zugelassen ist. Nur muß man die Ausgabe von info.php interpretieren können ;-)
Lies dir auch bitte durch, was Andreas in [pref:t=51128&m=280728] angegeben hat.
Das verstehe ich nicht!
Dann bin ich ratlos. Andreas hat doch sehr deutlich formuliert, worauf er aufmerksam machen wollte, besser könnte ich es auch nicht.
Christoph S.
Hallo,
dass ich das richtig verstehe, du hast auf einem server im www ein paar seiten liegen und willst in diese seiten mittels php daten von deinem recher, der bei dir unter dem schreibtisch steht ein datei einbinden.
da drängt sich mir die frage nach dem "warum" dieses vorgehens auf.
Mit freundlichen Grüßen,
Andreas Waidelich
Hi Andreas
Ja, das ist genau das was ich vor habe !
Zumindest suche ich nach Möglichkeiten das zu machen.
Auf meinen Heimrechner Daten zu erfassen und dann ins WWW einzuspielen.
Die Frage nach den Warum kann ich Dir eindeutig beantworten:
Auf mein Heimrechner kann ich den Apache bzw. PHP so laufen lassen das bestimmte Funktionen so möglich sind wie sie im Netz nicht machbar sind. (Sicherheits Risiko Save Modus)
Simone
Hallo Simone,
Auf mein Heimrechner kann ich den Apache bzw. PHP so laufen lassen das bestimmte Funktionen so möglich sind wie sie im Netz nicht machbar sind. (Sicherheits Risiko Save Modus)
dann geh ich mal davon aus, dass auf deinem server im www include-files nicht mittels php eingebunden werden dürfen. stichwort zur suche: "URL fopen wrappers". kannst du denn mittels ini_set() die konfiguration ändern?
und falls du dann doch via http includen darfst, dann muss du dir immernoch gedanken um die ip deines lokalen rechners gedanken machen. ich gehe mal davon aus, dass du keine feste ip hast. besorge dir bei eimem dienst wie DynDNS o.ä. einen accout. alles weiter ist auf den jeweiligen seiten beschrieben.
Mit freundlichen Grüßen,
Andreas Waidelich
Hi Andreas Waidelich
Danke, werde ich mir mal anschauen
mit "URL fopen wrappers" bzw. ini_set()
hab ich noch nichts gemacht
Simone
Hi,
include ("http://127.0.0.1/bilder/bildergalerie1.php" )
Läuft der Server, auf dem Dein Script läuft, unter Windows?
Dann gilt:
Warning
The Windows version of PHP currently does not support remote file accessing for this function, even if allow_url_fopen is enabled.
cu,
Andreas