[PHP] Script niet tonen *

Pagina: 1
Acties:
  • 138 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik de volgende simpele parser geschreven om data uit mijn Winamp Shoutcast server om mijn website te plaatsen.

Dit staan in de Head.
Java:
1
2
3
4
5
6
7
8
9
10
<script
type="text/javascript"
for="window"
event="onload">
var xmlDoc=new ActiveXObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.load("http://mijnwebsite:8000/admin.cgi?pass=mijnpass&mode=viewxml")
nodes=xmlDoc.documentElement.childNodes
a1.innerText=nodes.item(8).text
</script>


En dan aanroepen in de body
Java:
1
<span id="a1"></span>


Dit script werkt opzich perfect alleen als je in de bron code van mij site kijkt zie je dus dit hele script. Opzich vind ik dat niet erg, maar in de link naar mijn xml bestand zie je ook het wachtwoord voor de Shoutcast-server admin.

Wat kan ik hier aan doen?
Het zelfde script in PHP schrijven?

Alvast bedankt.

[ Voor 66% gewijzigd door Verwijderd op 24-10-2003 15:33 ]


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 08:24

gorgi_19

Kruimeltjes zijn weer op :9

Het zelfde script in PHP schrijven?
Of een 'tussenpagina' maken in PHP, welke als enige taak heeft om de pagina lokaal op te vragen en de content door te sturen; zo 'verberg' je je wachtwoord.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Daar had ik ook al aangedacht maar volgens mij helpt dat niet. Hij blijft gewoon de java script tonen.

Ik heb een nieuw php bestandje gemaakt: webradio_xml.php waar de bovenstaande code in staat. Toen heb ik een tussen php bestandje gemaakt xmllink.php waar het volgende in staat:

PHP:
1
2
3
 <?php
include("webradio_xml.php);
?>


En toen heb ik in mijn hoofd site index.php weer dit toegevoegd:
PHP:
1
2
3
 <?php
include("xmllink.php);
?>


Dit is toch wat je bedoelt of niet???

Acties:
  • 0 Henk 'm!

  • RupS
  • Registratie: Februari 2001
  • Laatst online: 17-07 14:45
Ik denk dat gorgi_19 iets bedoeld als het maken van een php file waar bijv. in staat:
PHP:
1
2
3
$data = file_get_contents("http://mijnwebsite:8000/admin.cgipass=mijnpass&mode=viewxml");
header("Content-type: text/xml");
echo $data;


In je JavaScript roep je dit php bestand aan in plaats van direct het xml bestand.
Zo staat er geen wachtwoord in het JavaScript...

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<script
type="text/javascript"
for="window"
event="onload">
var xmlDoc=new ActiveXObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.load("<?php
$data = file_get_contents("http://mijnwebsite:8000/admin.cgipass=mijnpass&mode=viewxml"); 
header("Content-type: text/xml"); 
echo $data;
?> ")
nodes=xmlDoc.documentElement.childNodes
a1.innerText=nodes.item(8).text
</script>


Op deze manier bedoel je??
Dit werkt nog niet omdat ik waarschijnlijk het niet goed implementeer.

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 08:24

gorgi_19

Kruimeltjes zijn weer op :9

Nee;
AnderBestand.php
PHP:
1
2
3
4
5
("<?php 
$data = file_get_contents("http://mijnwebsite:8000/admin.cgipass=mijnpass&mode=viewxml"); 
header("Content-type: text/xml"); 
echo $data; 
?>


HTML:
1
xmlDoc.load("http://mijnwebsite:8000/anderbestand.php")

[ Voor 12% gewijzigd door gorgi_19 op 24-10-2003 15:53 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik krijg nou de volgende error op mijn homepage:


Warning: file_get_contents(http://mijnsite.nl:8000/a...ss=xxxxxxx&mode=viewxml): failed to open stream: HTTP request failed! ICY 404 Resource Not Found in C:\mijnsite.nl\mijnmap\parserlink.php on line 2

Warning: Cannot modify header information - headers already sent by (output started at C:\mijnsite.nl\mijnmap\index.php:6) in C:\mijnsite.nl\mijnmap\parserlink.php on line 3

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 08:24

gorgi_19

Kruimeltjes zijn weer op :9

Erhm..
404 Resource Not Found
Pagina niet gevonden? :? :P

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Sorry dat kwam omdat ik verkeerde bestand op homepage aanriep. Dit is de nou de error. En ik heb het gedaan op de manier die jij me gaf.

Parse error: parse error, unexpected T_STRING in C:\mijnhomepage.nl\mijnmap\radio_xml_parser.php on line 13

Dit staat er nou dus in het radio_xml_parser.php bestand:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<!Script written by [MON] Jaws, Copyrighted by Masters of Norbik Inc.>
<script
type="text/javascript"
for="window"
event="onload">
var xmlDoc=new ActiveXObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.load(<?
$data = file_get_contents("http://mijnwebsite.nl/mijnmap/parserlink.php")
nodes=xmlDoc.documentElement.childNodes
a1.innerText=nodes.item(8).text
</script>
</head>
<body>
<b><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Webradio is playing: </font></b><font size="1">"<span id="a1"></span>"</font>
</body>
</html>


parserlink.php is dus jouw anderbestand.php !!!

[ Voor 107% gewijzigd door Verwijderd op 24-10-2003 16:07 ]


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 08:24

gorgi_19

Kruimeltjes zijn weer op :9

Je loopt nu 2 dingen te mixen.. :P

code:
1
2
3
4
5
6
7
8
9
10
<script 
type="text/javascript" 
for="window" 
event="onload"> 
var xmlDoc=new ActiveXObject("Microsoft.XMLDOM") 
xmlDoc.async="false" 
xmlDoc.load("http://mijnwebsite:8000/paserlink.php") 
nodes=xmlDoc.documentElement.childNodes 
a1.innerText=nodes.item(8).text 
</script>

[ Voor 46% gewijzigd door gorgi_19 op 24-10-2003 16:10 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • RupS
  • Registratie: Februari 2001
  • Laatst online: 17-07 14:45
Ok, nog een poging, want wat je nu doet is twee dingen door elkaar halen :)

Je hebt 1 bestand, dat NIETS anders doet dan de xml data ophalen en uitspugen (noemen we even getXmlData.php:

PHP:
1
2
3
$data = file_get_contents("http://mijnwebsite:8000/admin.cgipass=mijnpass&mode=viewxml"); 
header("Content-type: text/xml"); 
echo $data;


en een html bestand dat bijna ongewijzigd is t.o.v. je eerste post, _behalve_ de regel waarin je het xml document aanroept:

HTML:
1
2
3
4
5
6
7
<script type="text/javascript" for="window" event="onload"> 
var xmlDoc=new ActiveXObject("Microsoft.XMLDOM") 
xmlDoc.async="false" 
xmlDoc.load("http://mijnwebsite:8000/getXmlData.php") 
nodes=xmlDoc.documentElement.childNodes 
a1.innerText=nodes.item(8).text 
</script>


That's all ;)

[ Voor 64% gewijzigd door RupS op 24-10-2003 16:16 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
nodes=xmlDoc.documentElement.childNodes

bij deze regel geeft hij als error:

Fout: Object verreist

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Er is trouwens iemand die interessant is aan het doen omdat hij mijn wachtwoord voor de server heeft achterhaald via de php bestanden. Hij zal zich nu wel heel interessant vinden door ips te bannen. Jammer dat ik dat wachtwoord zodadelijk verander en hij dan niet meer kan spelen.

Je zult je zelf nou natuurlijk wel een hele hacker vinden he!!!
:r Ik vind je maar om te kotsen.

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 08:24

gorgi_19

Kruimeltjes zijn weer op :9

Erhm.. Wie zegt dat het iemand van het forum is? :? Iedereen kan hem nu achterhalen door in de source te kijken. :)

En wat Nelske zegt.. :P

Vergeet alleen niet een access log mee te sturen.

[ Voor 64% gewijzigd door gorgi_19 op 24-10-2003 16:26 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

Verwijderd

offtopic:
Neem even contact op met een mod, dan kan men eventueel passende maatregelen treffen tegen een dergelijk kindje.


edit:

Woei, deze post is delete voer :+

[ Voor 28% gewijzigd door Verwijderd op 24-10-2003 16:27 ]


Acties:
  • 0 Henk 'm!

  • RM-rf
  • Registratie: September 2000
  • Nu online

RM-rf

1 2 3 4 5 7 6 8 9

http://mijnwebsite:8000/getXmlData.php
probeer die link direkt, die kan je ook in een webbrowser inlezen (je krijgt dan een overzicht van de XML-tree)

volgens mij moet de content-type overigens 'application/xml' zijn, niet 'text/xml'

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Fout: Object verreist

Ik blijf deze error krijgen.


PHP:
1
2
3
4
5
6
7
8
9
10
<script 
type="text/javascript" 
for="window" 
event="onload"> 
var xmlDoc=new ActiveXObject("Microsoft.XMLDOM") 
xmlDoc.async="false" 
xmlDoc.load("parserlink.php") 
nodes=xmlDoc.documentElement.childNodes 
a1.innerText=nodes.item(8).text 
</script>


in deze regel:
nodes=xmlDoc.documentElement.childNodes

Dit staat in het parserlink.php:
PHP:
1
2
3
4
5
<?php
$data = "http://mijnsite:8000/admin.cgi?pass=xxxx&mode=viewxml"; 
header("Content-type: application/xml "); 
echo $data;
?>

[ Voor 40% gewijzigd door Verwijderd op 24-10-2003 16:40 ]


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 08:24

gorgi_19

Kruimeltjes zijn weer op :9

Moet je geen URL er bij geven bij parserlink?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Nee want parserlink.php staat in de zelfde map op de webserver als index.php waar de bovenste code dus instaat.

Ik heb met volledige link geprobeerd van WAN en LAN dit geeeft zelfde melding.

Acties:
  • 0 Henk 'm!

  • RM-rf
  • Registratie: September 2000
  • Nu online

RM-rf

1 2 3 4 5 7 6 8 9

hoogstwaarschijnlijk is parserlink.php geen valide XML, dat kan gebeuren als daar wat misgaat (een php errormelding zal de validiteit van de XML verstoren)

dit kun je enkel ondervangen door de output van parserlink.php te controleren

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ja ik snap wat je bedoelt.

Als ik gewoon dat parserlinl.php bestandje apart laadt geeft hij een string als uitkomst zonder fout melding.

Dit string is precies de link naar het xml bestand.
Als je die link direct invult op deze plaats:

Java:
1
xmlDoc.load("http://mijnsite:8000/admin.cgi?pass=xxxx&mode=viewxml")


dan doet iet het perfect (behalve dan dat je password in source ziet)

doe ik dit:

Java:
1
xmlDoc.load("http://mijnsite/parslink.php")

dan krijg ik de fout: geen object

de uitkomst van parslink.php = http://mijnsite:8000/admin.cgi?pass=xxxx&mode=viewxml

[ Voor 16% gewijzigd door Verwijderd op 24-10-2003 17:12 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op 24 October 2003 @ 16:57:
Als ik gewoon dat parserlinl.php bestandje apart laadt geeft hij een string als uitkomst zonder fout melding.
probeer te zorgen dat de output van je php bestand de xml is, dan zou het moeten werken.

Acties:
  • 0 Henk 'm!

  • RM-rf
  • Registratie: September 2000
  • Nu online

RM-rf

1 2 3 4 5 7 6 8 9

gebruik de door RupS eerder gegeven code
PHP:
1
2
3
$data = file_get_contents("http://mijnwebsite:8000/admin.cgipass=mijnpass&mode=viewxml"); 
header("Content-type: application/xml"); 
echo $data;
voor parselink.php

overigens heb ikzelf de ervaring dat msie soms niet correct generated documenten als XML herkend, ook al is de http-header correct.

door xml in de xtensie te plaatsen werkt dat,
parselink.xml.php werkt dan opeens wel.

[ Voor 43% gewijzigd door RM-rf op 24-10-2003 17:18 ]

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ja maar dat doet het dus niet!!!

Acties:
  • 0 Henk 'm!

  • RM-rf
  • Registratie: September 2000
  • Nu online

RM-rf

1 2 3 4 5 7 6 8 9

Verwijderd schreef op 24 October 2003 @ 17:18:
Ja maar dat doet het dus niet!!!


en welke foutmeldingen krijg je dan?

de door RupS gegeven code is anders dan jouw code voor parselink.php die sowieso niet werkt (immers je retourneert enkel de url als $data, en dat is geen XML, enkel een stukje platte tekst)

[ Voor 3% gewijzigd door RM-rf op 24-10-2003 17:20 ]

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik heb de code van rups nu gebruikt en ik grijg de zelfde fout die ik al een paar keer eerder hier neerzette en die is:

IE MELDING:

Fout op pagina
Regel: 38
Teken: 1
Fout: Object vereist
Code: 0

en het php bestand zelf genereed de volgende fout nu:

Warning: file_get_contents(http://mijnsite:8000/admin.cgi?pass=xxxxxx&mode=viewxml): failed to open stream: HTTP request failed! ICY 404 Resource Not Found in C:\mijnsite\mastersofnorbik\parserlink.php on line 2

Warning: Cannot modify header information - headers already sent by (output started at C:\mijnsite\mastersofnorbik\parserlink.php:2) in C:\mijnsite\mastersofnorbik\parserlink.php on line 3

[ Voor 54% gewijzigd door Verwijderd op 24-10-2003 17:27 ]


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 08:24

gorgi_19

Kruimeltjes zijn weer op :9

* gorgi_19 is eerder benieuwd naar http://mijnwebsite.nl/mijnmap/parserlink.php

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
zie mijn edit in vorige bericht!!!

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Warning: file_get_contents(http://mijnsite:8000/admin.cgi?pass=xxxxxx&mode=viewxml): failed to open stream: HTTP request failed! ICY 404 Resource Not Found in C:\mijnsite\mastersofnorbik\parserlink.php on line 2

Warning: Cannot modify header information - headers already sent by (output started at C:\mijnsite\mastersofnorbik\parserlink.php:2) in C:\mijnsite\mastersofnorbik\parserlink.php on line 3


gorgi_19 wil je a.u.b. ff naar deze melding kijken. Volgens mij moet het probleem nu niet meer zo lastig zijn.

[ Voor 13% gewijzigd door Verwijderd op 24-10-2003 18:10 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Het is dus wel duidelijk dat in dit stukje iets fout gaat. Want als ik het weglaat geeft hij gewoon de ruwe string van de link zonder fout.

Java:
1
file_get_contents


En die 2e error snap ik al helemaal niet. 8)7

[ Voor 13% gewijzigd door Verwijderd op 25-10-2003 10:45 ]


Acties:
  • 0 Henk 'm!

  • RedHat
  • Registratie: Augustus 2000
  • Laatst online: 17-09 20:43
PHP:
1
2
3
xmlDoc.load(<? 
$data = file_get_contents("http://mijnwebsite.nl/mijnmap/parserlink.php") 
nodes=xmlDoc.documentElement.childNodes


moet volgens mij

PHP:
1
2
3
xmlDoc.load(<? 
$data = file_get_contents("http://mijnwebsite.nl/mijnmap/parserlink.php") ;?>
nodes=xmlDoc.documentElement.childNodes 

worden?

of schiet ik nu heel erg mis ;)

[ Voor 11% gewijzigd door RedHat op 25-10-2003 11:17 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
PHP:
1
2
3
4
5
<?
xmlDoc.load(<? 
$data = file_get_contents("http://mijnwebsite.nl/mijnmap/parserlink.php") 
nodes=xmlDoc.documentElement.childNodes
?> 


Hoe kom j erbij dat dit stuk code ooit is gebruikt.
Dit is een mengelmoes van 2 apparte codes :?

Hier raak ik weer helemaal van in de war :/

Acties:
  • 0 Henk 'm!

  • RM-rf
  • Registratie: September 2000
  • Nu online

RM-rf

1 2 3 4 5 7 6 8 9

Verwijderd schreef op 25 October 2003 @ 10:44:
Het is dus wel duidelijk dat in dit stukje iets fout gaat. Want als ik het weglaat geeft hij gewoon de ruwe string van de link zonder fout.

Java:
1
file_get_contents


En die 2e error snap ik al helemaal niet. 8)7
de tweede error is niet belangrijk, die wordt veroorzaakt door de tekst van de eerste, daarna kan hij de header niet meer veranderen.

waarom (de PHP-functie) file_get_contents een foutmelding geeft weet ik niet geheel, hij lijkt een 404 te ontvangen van de server, op die URL, controleer dus of die correct is (geen schrijffouten)

verder zou je kunnen kijken of er misschien een firewall staat op de server die ook uitgaan verkeer blokt (en specifiek port 8000)

let overigens goed op het verschil tussen de clientside javascripts en de serverside php-scripts:
dit om verwarring te voorkomen:

de xml-object methoden zijn javascript en worden op de client uitgevoerd om een request te doen; het stukje php is enkel een soort van 'middleman' uitgevoerd op de server om de xml in te laden.

[ Voor 19% gewijzigd door RM-rf op 25-10-2003 11:58 ]

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Worden de <? tags niet automatisch aan het begin en einde geplakt bij het neerplakken van
PHP:
1
code :)

offtopic:
de nieuwe codetags zijn zwaar irritant :/

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op 25 October 2003 @ 11:39:
PHP:
1
2
3
4
5
<?
xmlDoc.load(<? 
$data = file_get_contents("http://mijnwebsite.nl/mijnmap/parserlink.php") 
nodes=xmlDoc.documentElement.childNodes
?> 


Hoe kom j erbij dat dit stuk code ooit is gebruikt.
Dit is een mengelmoes van 2 apparte codes :?

Hier raak ik weer helemaal van in de war :/
Ik weet niet of wat ik nu ga zeggen dat dat juist is:

de ene taal die je gebruikt is clientside en die heet Javascript:

xmlDoc is een var die je hebt gedeclareerd.
load is een attribuut van de variabele xmlDoc.
Als jij daar zet:

code:
1
2
3
4
xmlDoc.load(<?
$data = file_get_contents("http://mijnwebsite.nl/mijnmap/parserlink.php") 
nodes=xmlDoc.documentElement.childNodes
?>)

Dan meng je PHP en javascript door elkaar.

je zou wel kunnen doen:


PHP:
1
2
3
4
5
6
7
8
9
10
<?php
$data = file_get_contents('http://mijnwebsite.nl/mijnmap/parserlink.php') ;
?>
// dit is het einde van PHP code.
// start javascript code:

<script language="Javascript">
 var xmlDoc
 xmlDoc.load(<? echo $data ?>)
</script>


Ik weet niet of dit kan maar ik denk van wel.
Verbeter me indien fout :7

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
PHP:
1
$data = file_get_contents('http://mijnwebsite.nl:8000/admin.cgi?pass=xxxxx&mode=viewxml') ;


Op deze plaats geeft hij een fout melding:


Warning: file_get_contents(http://mijnwebsite:8000/admin.cgi?pass=xxxxx&mode=viewxml): failed to open stream: HTTP request failed! ICY 404 Resource Not Found in C:\mijnwebsite\mijnmap\index.php on line 34

Als ik deze link:
'http://mijnwebsite.nl:8000/admin.cgi?pass=xxxxx&mode=viewxml')
in de IE invul krijg ik gewoon de XML pagina zonder enige fout, dus de link klopt het gaat nog altijd fout bij dat file_gets_contents

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
En ik meng geen Java met PHP dat stukje script heeft iemand anders verzonnen en heb ik nergens staan nu. Ik heb geen firewall op die server want hij staat in de DMZ mode van mijn router.

Acties:
  • 0 Henk 'm!

  • RM-rf
  • Registratie: September 2000
  • Nu online

RM-rf

1 2 3 4 5 7 6 8 9

Verwijderd schreef op 25 October 2003 @ 12:44:
Ik heb geen firewall op die server want hij staat in de DMZ mode van mijn router.
volgens mij ligt het aan die DMZ-mode, feitelijk is dat een vorm van een dubbelle firewall, ook als je webserver corrupt geraakt of aangevallen wordt, kunnen aanvallers niet via je webserver je interne netwerk benaderen.

bedenk dat die file_get_contents vanaf de webserver gestuurt wordt en niet vanaf jouw client.
je zal hier je instellingen dusdanig moeten wijzigen dat je webserver iig je client kan benaderen via port 8000

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Maar volgens mij zijn mijn webserver en client de zelfde
of niet????

Mijn webserver is op de zelfde server als de Winamp Shoutcast Webradio server.

En als ik de link direct in IE invul opent hij ook het XML bestand. Dus ik kan wel door die poort 8000 komen. Ik kan ook alle info over mijn shoutcast server zien via poort 8000 over WAN. Dus daar ligt het probleem niet.

Hij zegt dat een object vereist is dus de fout ligt ergens anders. Volgens mij in het aanroepen van die xml. misschien wil die server dat niet op deze manier of zo???

En dat java met php combineren vind hij helemaal al niet leuk, dat werkt ook niet.

[ Voor 65% gewijzigd door Verwijderd op 25-10-2003 14:02 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Is er trouwens geen mogelijkheid om het stuk code in een code.js file of zo iets te zetten en deze dan op de home pagina aan te roepen met zo iets als:

include('code.js');

ofzo zoals dat met php ook kan???

Acties:
  • 0 Henk 'm!

  • RM-rf
  • Registratie: September 2000
  • Nu online

RM-rf

1 2 3 4 5 7 6 8 9

Verwijderd schreef op 25 oktober 2003 @ 13:55:

En als ik de link direct in IE invul opent hij ook het XML bestand. Dus ik kan wel door die poort 8000 komen. Ik kan ook alle info over mijn shoutcast server zien via poort 8000 over WAN. Dus daar ligt het probleem niet.

Hij zegt dat een object vereist is dus de fout ligt ergens anders. Volgens mij in het aanroepen van die xml. misschien wil die server dat niet op deze manier of zo???
'object vereist' is een javascript foutmelding en die ontstaat doordat de ingelade xml niet valideert, dat komt door de php-foutmelding.

de php-foutmelding ontstaat doordat de file_get_contents een 404 File not Found krijgt.

dan kan je misschien wel zelf vanuit explorer die file kunnen oproepen, maar php op je webserver lukt dat niet, daar ligt dus de fout en niet ergens anders, zorg ervoor dat je uitvind hoe je de functie 'file_get_contents' werkend kunt krijgen.

of misschien heb je die niet eens nodig, als de webcast server al op dezelfde host staat kun je misschien de gewenste data intern al aanspreken, localhost:8000 zou dan al moeten werken. maar misschien kun je deze ook via het filesystem benaderen?

kijk eens naar de uitleg van file_get_contents op php.net http://www.php.net/file_get_contents , hier staat iets erover dat warappers voor fopen aan moeten staan in php, anders werkt het niet. misschien moet je dat proberen.

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


Acties:
  • 0 Henk 'm!

  • ripexx
  • Registratie: Juli 2002
  • Laatst online: 17-09 20:52

ripexx

bibs

Wat gebeurt er als je de volgende PHP code gebruikt voor je script. Krijg je dezelfde fouten of andere? :)

PHP:
1
2
3
4
5
6
<?php
$fp = fopen("http://mijnwebsite.nl:8000/admin.cgi?pass=xxxxx&mode=viewxml", "r");
header("Content-type: application/xml");
fpassthru($fp);
fclose($fp);
?>

buit is binnen sukkel


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
En hoe roep ik dit php script dan nou in het javascript op de HOME page aan ???

Java:
1
2
3
4
5
6
7
8
9
10
<script 
type="text/javascript" 
for="window" 
event="onload"> 
var xmlDoc=new ActiveXObject("Microsoft.XMLDOM") 
xmlDoc.async="false" 
xmlDoc.load("http://mijnwebsite/mijnmap/parserlink.php") 
nodes=xmlDoc.documentElement.childNodes 
a1.innerText=nodes.item(8).text 
</script>


deze doet het dus niet! misschien moet het anders maar hij geeft nu nog altijd aan :

object vereist

en als ik dit allemaal op de HOME zet krijg ik ook ene hoop errors:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php 
$fp = fopen("http://mijnsite:8000/admin.cgi?pass=xxxxx&mode=viewxml", "r"); 
header("Content-type: application/xml"); 
fpassthru($fp); 
fclose($fp); 
?> 

<script
type="text/javascript" 
for="window" 
event="onload"> 
var xmlDoc=new ActiveXObject("Microsoft.XMLDOM") 
xmlDoc.async="false" 
xmlDoc.load($fp)
nodes=xmlDoc.documentElement.childNodes 
a1.innerText=nodes.item(8).text 
</script> 


met de errors:

Warning: fopen(http://mijnsite:8000/admin.cgi?pass=xxxxx&mode=viewxml): failed to open stream: HTTP request failed! ICY 404 Resource Not Found in C:\mijnsite\mijnmap\index.php on line 32

Warning: Cannot modify header information - headers already sent by (output started at C:\mijnsite\mijnmap\index.php:6) in C:\mijnsite\mijnmap\index.php on line 33

Warning: fpassthru(): supplied argument is not a valid stream resource in C:\mijnsite\mijnmap\index.php on line 34

Warning: fclose(): supplied argument is not a valid stream resource in C:\mijnsite\mijnmap\index.php on line 35

[ Voor 147% gewijzigd door Verwijderd op 25-10-2003 16:19 ]


Acties:
  • 0 Henk 'm!

  • ripexx
  • Registratie: Juli 2002
  • Laatst online: 17-09 20:52

ripexx

bibs

Het probleem blijft dus bestaan. Zodra je serverside je admin panel probeert te benaderen krijg je 404 error's. :? Wat gebeurt er als je de adminpanel direct van je server benaderd via een webbrowser.

Ik heb het net zelf even getest en bij een PHP serverside redirect werkt het ook nog. Wat gebeurt er als je hard het ip adres van de server gebruikt?

buit is binnen sukkel


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik snap eigenlijk niet precies wat je bedoelt.
maar als ik het volgende doe in de IE:

http://127.0.0.1:8000/admin.cgi?pass=xxxx&mode=viewxml en
http://192.168.0.5:8000/admin.cgi?pass=xxxx&mode=viewxml en
http://mijn-ip-van-provider:8000/admin.cgi?pass=xxxx&mode=viewxml en
http://mijn-dns-naam:8000/admin.cgi?pass=xxxx&mode=viewxml


krijg ik allemaal mooi een xml filetje te zien, ook als ik dit met de IE vanaf mijn webserver probeer.

[ Voor 9% gewijzigd door Verwijderd op 25-10-2003 16:47 ]


Acties:
  • 0 Henk 'm!

  • ripexx
  • Registratie: Juli 2002
  • Laatst online: 17-09 20:52

ripexx

bibs

Het doel van het bovenstaan de was heel simpel, om uit te sluiten dat je adminpanel ook gewoon direct te benaderen is vanuit je webserver.

Het enige wat ik nog kan bedenken is gebruik te maken van urlencode() functie van PHP maar ik denk niet dat dat direct betrekking heeft op het bovenstaande? Je kan het altijd proberen. Je script wordt dan:
PHP:
1
2
3
4
5
6
7
<?php
$loc = urlencode("http://mijnwebsite.nl:8000/admin.cgi?pass=xxxxx&mode=viewxml");
$fp = fopen("$loc", "r");
header("Content-type: application/xml");
fpassthru($fp);
fclose($fp);
?> 

Blijf het raar vinden dat je een 404 krijgt? Als een redirect of een cookie oid niet wordt gevonden krijg je vaak een andere pagina, maar geen 404. :? :)

buit is binnen sukkel


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Java:
1
2
3
4
5
6
7
8
9
10
<script
type="text/javascript" 
for="window" 
event="onload"> 
var xmlDoc=new ActiveXObject("Microsoft.XMLDOM") 
xmlDoc.async="false" 
xmlDoc.load("http://xxxxxxxx.ath.cx:8000/admin.cgi?pass=xxxxxx&mode=viewxml")
nodes=xmlDoc.documentElement.childNodes 
a1.innerText=nodes.item(8).text 
</script> 


kijk dit werkt gewoon perfect, maar dan zie je dus het password in de broncode, is er echt niets anders te bedenken???

Je doet nu zeg maar het xml parsen met javasript of niet?!?!? Kan dat niet gewoon helemaal in php (ja toch ?!?)

Acties:
  • 0 Henk 'm!

  • ripexx
  • Registratie: Juli 2002
  • Laatst online: 17-09 20:52

ripexx

bibs

PHP heeft ook verschillende XML mogelijkheden. Zie hiervoor http://nl2.php.net/xml

Het blijft raar dat je via JS wel je xml file kan benaderen en daty PHP het ding niet wil inlezen. :?

buit is binnen sukkel


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ah zo ja ik heb op jouw link een aantal standaard oplossingen gevonden maar weet eigenlijk niet goed welke nou kan en/of het beste is.

Ik weet namelijk niet zoveel van de syntax van php.
Kan niemand mijn javasript van hierboven omturnen in php, of me igg op weg helpen.

Acties:
  • 0 Henk 'm!

  • elnino
  • Registratie: Augustus 2001
  • Laatst online: 07-08 17:35
Ik denk dat je een beetje het overzicht aan het verliezen bent en daardoor door de bomen het bos niet meer ziet (en dit geldt ook voor enkele andere gebruikers die hier reageren).

Het gaat hier om twee afzonderlijke bestanden:

1. De client-side JavaScript met daarin de aanroepcode, waarin de code staat die het XML-bestand opent, op de browser.

2. Het server-side PHP-script dat simpelweg de inhoud van http://mijnwebsite:8000/admin.cgi?pass=mijnpass&mode=viewxml weergeeft.

Bij bestand 2 gaat het mis. Er is dus iets mis met het PHP-script, want die geeft blijkbaar niet de juiste gegevens door.

In de foutmelding zie ik staan:
failed to open stream: HTTP request failed! ICY 404 Resource Not Found in C:\mijnsite.nl\mijnmap\parserlink.php on line 2
Blijkbaar lukt het het PHP-script niet om dat bestand te openen. Daar zit het probleem dus!

Probeer dus eens de code van het PHP-script te vervangen door code die ripexx hier eerder heeft neergezet. Werkt dat wel?
PHP:
1
2
3
4
5
6
<?php 
$fp = fopen("http://mijnwebsite.nl:8000/admin.cgi?pass=xxxxx&mode=viewxml", "r"); 
header("Content-type: application/xml"); 
fpassthru($fp); 
fclose($fp); 
?>

Geeft dat ook foutmeldingen? Zo ja, dan heeft PHP blijkbaar geen rechten om via HTTP een bestand te openen. Kijk bijvoorbeeld (als het script lokaal draait) naar de instellingen van php.ini.

Overigens heeft server-side XML (met PHP dus) weinig zin als het bestand überhaupt niet door PHP geopend kan worden.

Succes! :)

edit: Tenslotte nog een tip: test eerst het PHP-bestand, geeft die geen foutmeldingen meer, ga dan pas verder met het JavaScript.

[ Voor 7% gewijzigd door elnino op 26-10-2003 16:10 . Reden: tip toegevoegd ]

Pagina: 1