Meddelande

Minska
No announcement yet.

Osäkert att använda file_get_contents, file_put_contents, copy? Alternativ?

Minska
X
 
  • Filter
  • Klockan
  • Show
Clear All
new posts

  • Osäkert att använda file_get_contents, file_put_contents, copy? Alternativ?

    Jag behöver hämta bilder från en annan server (mitt eget Amazon S3 konto) och lägga på min serven där jag har min webbsida. Med PHP kan man använda

    Kod:
    copy('http://img.youtube.com/vi/Rz8KW4Tveps/1.jpg', APP . '/tmp/imgID.jpg');
    Eller

    Kod:
    $image = file_get_contents("http://img.youtube.com/vi/Rz8KW4Tveps/1.jpg");
    file_put_contents("imgfolder/imgID.jpg", $image);
    Mitt webbhotell har dock detta avstängt som standard med motiveringen att det är en säkerhetsrisk och som standard avstängt i PHP 5.x. Jag kan dock slå på det i min php.ini.

    Hur stor säkerhetsrisk är det om jag slår på det? Vad finns för säkerhetsrisk? Vad är mina alternativ?
    http://www.galnanyheter.com/ - Galna nyheter utöver det vanliga

    Skaffa Dropbox - Ett självklart val för att synkronisera filer mellan datorerna samt telefonen.

  • #2
    En säkerhetsrisk med file_get_contents är att om man hämtar sökvägen som ska öppnas från användardata - speciellt om man inte kontrollerar användardatat - så kan användaren då komma åt samtliga filer på servern som PHP har åtkomsträttigheter till.

    Följande kod är alltså inte säker alls:
    PHP-kod:
    <?php echo file_get_contents($_GET['url']); ?>
    "Det finns tre sorters lögn; vanlig lögn, förbannand lögn och statistik" - Mark Twain

    Kommentera


    • #3
      file_get_contents() innebär inga säkerhetsrisker om det används på "rätt" sätt.
      Om du aldrig har med användardata som argument så behöver du absolut inte oroa dig.
      Last edited by prplxr; 2015-03-16, 09:54.
      Avundas aldrig någon det sken av lycka han har för du känner inte hans hemliga sorger.

      Kommentera

      Working...
      X