Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

XML-bestand lezen (parsen) op andere server

Pagina: 1
Acties:

Verwijderd

Topicstarter
Waar ik me al lang tijd over verbaas is het navolgende.
Een van onze systemen leest XML-bestanden in van een andere server, en wel op ongeveer de volgende manier (met behulp van de functie file_get_contents());

PHP:
1
2
3
4
$xmlFeed = "http://www.etc.etc/feed.xml";
$xmlData = file_get_contents($xmlFeed);
xml_parse($this->parser, $xmlData);
// etc.


Echter, bijna altijd krijgen we dan de melding van de server dat het `niet verstandig is, of niet veilig, om met behulp van file_get_contents() bestanden van andere servers in te lezen`. Ik weet helaas niet meer exact welke melding gegeven wordt via de webbrowser maar het komt erop neer dat we altijd een wijziging moeten doorvoeren in de server-instellingen voordat we verder kunnen gaan.
Mensen die vaker met file_get_contents() hebben gewerkt weten ongetwijfeld wat ik bedoel. Het heeft met de fopen-wrappers te maken (zie handleiding PHP: http://nl2.php.net/file_get_contents).

Wat ik me afvraag; is dit de correcte manier om met XML-bestanden om te gaan die op andere servers staan? Of doen wij iets verkeerd? Ik wil zo correct mogelijk XML gebruiken en ik heb het idee dat het misschien op een andere, betere manier kan. Alvast bedankt voor een reactie.

  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
Lijkt mij netter om met CURL bestanden van een andere server (neem aan dat het via HTTP moet) te lezen:
http://nl2.php.net/manual/en/ref.curl.php

https://niels.nu


  • Kalentum
  • Registratie: Juni 2004
  • Laatst online: 22:35
Ik heb nog nooit van die waarschuwing van een server gehoord.

Maar ja er is natuurlijk een risico dat iets of iemand op die remote server iets doet wat jouw applicatie mogelijk onveilig zou kunnen maken

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02 23:12

SchizoDuckie

Kwaak

Waarschijnlijk krijg je een security melding van php ivm open basedir + fopen url wrappers, iets wat een nogal ranzige configuratie is.

Je kunt er gewoon omheen door error_level(E_NONE) te setten bovenaan je script en je er niet druk over te maken. Zolang jij zorgt dat je geen rare execute's doet of de bestanden opslaat op je server o.i.d. is er niets mis met het gebruiken van de fopen url wrappers :)

sterker nog, ik vind het geweldig. vooral in combinatie met DomDocument->loadHTMLFile() :Y)

Stop uploading passwords to Github!


  • Voutloos
  • Registratie: Januari 2002
  • Niet online
SchizoDuckie schreef op donderdag 14 februari 2008 @ 16:52:
Je kunt er gewoon omheen door error_level(E_NONE) te setten bovenaan je script en je er niet druk over te maken.
Bah. Áls je al botweg alle errors de mond wil snoeren, hoef je dat hier enkel bij file_get_contents() te doen. ;)

{signature}