$cap_url = strtolower($_POST["capUrl"]); //[1]
//[3]
if (false !== @file_get_contents($cap_url)){ //[2]$wms_file = file_get_contents($cap_url); //[2]
/* ... */
> Jetzt frage ich mich ob ich sowas aus sicherheitstechnischer Sicht anbieten kann, oder ob ich einen anderen Weg beschreiten muss?
[1] das strtolower könnte teils zu Fehlern führen, wenn zB. case-sensitive Daten als Parameter zur URL gehören.
[2] Zweimal laden? Klingt doof. `if(($wms_file = @file_get_contens($cap_url)) !== false)`{:.language-php}
[3] Zusätzliche Kontrollen, ob es wirklich eine eine entfernte Seite oder eine lokale Datei ist sollten mindestens noch mit drin sein.
Allgemein würde ich wohl erstmal mit HEAD den Content-Type ermitteln, wenn der nicht XML ist kannst du entsprechende Meldung bringen. Zusätzlich hält es deinen Traffic klein. (Was wäre denn z.B. wenn ein Bösewicht massenhaft Requests schickt, bei denen dein Server auf einmal gigabyte-große Dateien runterladen soll?)
Was genau alles beachtet werden muss kann ich dir aber auch nicht so genau sagen, zu mal es da wahrscheinlich auch noch gesetzliche Hürden/Probleme geben könnte. (z.B. jemand der dir/deinem Service schaden will, lässt deinen Server illegale Inhalte herunterladen, Kinder-Pornos und dergleichen)
MfG
bubble
--
If "god" had intended us to drink beer, he would have given us stomachs. - David Daye