cr: simplexml_load_file() Sicherheit

Hallo,

ich möchte in einem intranet eine rss-feed option anbieten. dazu lese ich bisher die feeds mittels $rss_stream = simplexml_load_file($rss_streamurl); ein und gebe den inhalt der rss aus. da der nutzer die $rss_streamurl selbst festlegen kann, wollte ich fragen ob hier (ja oder nein) sicherheitsvorkehrungen getroffen werden sollten und wenn ja an welche ihr gedacht habt?

danke für eure hilfe!

cr

  1. Hallo,

    Hallo,

    ich möchte in einem intranet eine rss-feed option anbieten. dazu lese ich bisher die feeds mittels $rss_stream = simplexml_load_file($rss_streamurl); ein und gebe den inhalt der rss aus. da der nutzer die $rss_streamurl selbst festlegen kann, wollte ich fragen ob hier (ja oder nein) sicherheitsvorkehrungen getroffen werden sollten und wenn ja an welche ihr gedacht habt?

    Lege doch ein Array mit den validen Urls an und test mit in_array() ob die gefragte Url eine erlaubte ist. Ansonsten könnte jemand u.U. etwas auslesen, was du nicht willst. Du kannst aber auch die in Frage kommenden Files in ein Directory packen und erzielst so den selben Effekt. Es wird ja kein Code ausgeführt.

    Gruß

    jobo

    1. hi

      Lege doch ein Array mit den validen Urls an und test mit in_array() ob die gefragte Url eine erlaubte ist. Ansonsten könnte jemand u.U. etwas auslesen, was du nicht willst. Du kannst aber auch die in Frage kommenden Files in ein Directory packen und erzielst so den selben Effekt. Es wird ja kein Code ausgeführt.

      du meinst eine whitelist...das problem ist das ich dann von allen rss feeds die urls speichern müsste...das wäre ja eine riesige schier unüberschaubare menge an feeds...gibts da noch ne andere idee? oder kennst du ne datenbank die zufällig schon alle rss feeds mal kurz auflisten kann?

      1. du meinst eine whitelist...das problem ist das ich dann von allen rss feeds die urls speichern müsste...das wäre ja eine riesige schier unüberschaubare menge an feeds...

        Definire "riesig und unüberschaubar" - 1.000, 10.000, 100.000?

        Mit schier unüberschaubaren Mengen an Feeds kämpft höchtens Feedburner - ich denke die Dimension deines Vorhabens liegt weit darunter - zumal du sonst kaum so eine Frage stellen würdest.

        1. Hello,

          du meinst eine whitelist...das problem ist das ich dann von allen rss feeds die urls speichern müsste...das wäre ja eine riesige schier unüberschaubare menge an feeds...

          Definire "riesig und unüberschaubar" - 1.000, 10.000, 100.000?

          Mit schier unüberschaubaren Mengen an Feeds kämpft höchtens Feedburner - ich denke die Dimension deines Vorhabens liegt weit darunter - zumal du sonst kaum so eine Frage stellen würdest.

          Außerdem könnte dem User die vorhandene Liste auch zur Auswahl vorgelegt werden. Wenn er denn partout eine neue URL haben will, kann er einen "Antrag" stellen. Sowas bezeichnet man dann vermutlich schon als "WEB 2.0", wenn ein User am Wachstum der Möglichkeiten mitwirken darf.

          Liebe Grüße aus dem schönen Oberharz

          Tom vom Berg

          --
           ☻_
          /▌
          / \ Nur selber lernen macht schlau
          http://bergpost.annerschbarrich.de
          1. Hallo,

            ich kapiere die vermeintliche Sicherheitsproblematik nicht. Ich dachte, es geht ums Intranet.

            Gruß

            jobo

            1. ich kapiere die vermeintliche Sicherheitsproblematik nicht. Ich dachte, es geht ums Intranet.

              Ja, aber in einem unternehmen mit 1.000 Mitarbeitern kann es auch passieren, dass jemand als letzte "Amtshandlung" nachdem er gefeuert wurde noch mal schnell den RSS-Feed eine Pornoseite reinknallt, den dann der Chef zu auf der Intranet-Startseite zu sehen bekommt :p

              1. Hallo,

                ich kapiere die vermeintliche Sicherheitsproblematik nicht. Ich dachte, es geht ums Intranet.

                Ja, aber in einem unternehmen mit 1.000 Mitarbeitern kann es auch passieren, dass jemand als letzte "Amtshandlung" nachdem er gefeuert wurde noch mal schnell den RSS-Feed eine Pornoseite reinknallt, den dann der Chef zu auf der Intranet-Startseite zu sehen bekommt :p

                Ja, haben die denn keine Firewall/Router mit Whitelist? Ohne Listing gehts da doch nicht, oder? In der Schule, wo ich AG mache, ist facebook zB. nicht aufrufbar...;

                Gruß

                jobo

                1. Ja, haben die denn keine Firewall/Router mit Whitelist? Ohne Listing gehts da doch nicht, oder? In der Schule, wo ich AG mache, ist facebook zB. nicht aufrufbar...;

                  Das ist vielleicht an Schulen interessant, aber solche Listen sind meistens Blacklists und keine Whitelists. Stell dir eine "Programmierbude" vor - da ist es gang und gäbe, dass man im Internet hängt und regelmäßig nach Lösungen für Probleme oder Dokumentation sucht.

                  Wenn mein Chef sagt "sperren wir mal das Internet und setzen typo3.org und php.net auf die Whitelist" würde sich meine Arbeitsgeschwindigkeit vermutlich auf etwa 1/100 der aktuellen verringern.

  2. Hi!

    ich möchte in einem intranet eine rss-feed option anbieten. dazu lese ich bisher die feeds mittels $rss_stream = simplexml_load_file($rss_streamurl); ein und gebe den inhalt der rss aus. da der nutzer die $rss_streamurl selbst festlegen kann, wollte ich fragen ob hier (ja oder nein) sicherheitsvorkehrungen getroffen werden sollten und wenn ja an welche ihr gedacht habt?

    Dazu muss man erst einmal fragen, wogegen du gern Sicherheitsvorkehrungen haben möchtest. Gegen syntaktisch fehlerhafte Feeds hilft eine Fehlerbehandlung, denn simplexml_load_file() wird sich beschweren. Auch wenn etwas mit dem Netzzugriff nicht funtioniert hat, hilft diese Fehlerbehandlung. Bei der Ausgabe von Daten lediglich der Kontextwechsel zu beachten. Gegen soziale Probleme (zum Beispiel unerwünschte aber technisch einwandfreie Inhalte) ist eine technische Lösung sowieso nicht alleinig ausreichend.

    Lo!