Video: How to connect to a QNAP NAS from the Internet 2024
Det är ganska vanligt att webbapplikationer tillåter användare att ladda upp filer av en eller annan anledning. Du måste se till att dessa uppladdningar är säkra. Till exempel tillåter vissa meddelandekort användare att ladda upp små bilder eller avatarer som visas bredvid var och en av användarens inlägg. Med andra program kan du ladda upp datafiler för analys.
Du kan använda PHP: s inbyggda fopen () -funktion, som automatiskt öppnar en ström till en fil eller URL som tillåter användare att ladda upp filer. Tyvärr är denna metod mogen för exploatering av skadliga användare som kan använda den för att ladda upp filer från fjärrservrar till din webbserver.
Förhindra denna typ av exploatering kräver att du avaktiverar två inställningar i php. ini: register_globals och url_fopen. Om du avaktiverar dessa inställningar förhindras användarna att använda PHP: s inbyggda filuppladdning utan att du explicit tillåter den funktionen.
När du inaktiverat dessa två funktioner i php. ini, du måste fortfarande tillåta användare att ladda upp filer. Använd PHP: s FTP-funktionsuppsättning, en mycket säkrare metod än fopen (), så att användare kan ladda upp filer.
Du kan använda FTP-funktionerna ganska intuitivt. Först etablerar du en anslutning, så laddar du upp de filer du behöver, och slutligen stänger du anslutningen. Så här använder du FTP-funktionerna i PHP:
Här är de vanligaste FTP-funktionerna och deras argument:
-
ftp_connect (sträng $ värd [int $ port [int $ timeout]]) : < Anslut till FTP-servern - i så fall din webbserver.
-
: Skicka inloggningsuppgifter till FTP-servern. ftp_put (resurs $ ftp_stream, sträng $ remote_file, sträng $ local_file, int $ mode [int $ startpos])
-
: Lägg en fil från den lokala maskinen till servern. ftp_get (resurs $ ftp_stream, sträng $ local_file, sträng $ remote_file, int $ mode [int $ resumepos])
-
: Hämta en fil från servern och skicka den till en lokal maskin. ftp_close (resource $ ftp_stream)
-
: Stäng anslutningen till servern. Du måste stänga FTP-flödet så snart du är färdig med det. annars har du en öppen anslutning som är utsatt för kapning.