Video: Linux Tutorial for Beginners: Introduction to Linux Operating System 2024
Het komt vrij vaak voor dat webtoepassingen gebruikers toestaan om bestanden te uploaden om een of andere reden. Je moet ervoor zorgen dat die uploads veilig zijn. Sommige berichtborden kunnen gebruikers bijvoorbeeld kleine afbeeldingen of avatars uploaden die naast elk van de berichten van die gebruiker worden getoond. Met andere toepassingen kunt u gegevensbestanden uploaden voor analyse.
U kunt PHP's ingebouwde fopen () -functie gebruiken, die automatisch een stream opent naar een bestand of URL waarmee gebruikers bestanden kunnen uploaden. Helaas is deze methode rijp voor misbruik door kwaadwillende gebruikers die deze kunnen gebruiken om bestanden van externe servers naar uw webserver te uploaden.
Voor het voorkomen van dit type uitbating moet je twee instellingen uitschakelen in php. ini: register_globals en url_fopen. Als u deze instellingen uitschakelt, kunnen gebruikers PHP's ingebouwde bestandsupload niet gebruiken zonder dat u die functionaliteit expliciet inschakelt.
Nadat u deze twee functies hebt uitgeschakeld in php. ini, moet je gebruikers nog steeds toestaan om bestanden te uploaden. Gebruik PHP's FTP-functieset, een veel veiliger methode dan fopen (), zodat gebruikers bestanden kunnen uploaden.
Je kunt de FTP-functies redelijk intuïtief gebruiken. Eerst maakt u een verbinding, uploadt u de bestanden die u nodig hebt en tenslotte sluit u de verbinding. Hier leest u hoe u de FTP-functies in PHP gebruikt:
Dit zijn de meest voorkomende FTP-functies en hun argumenten:
-
ftp_connect (string $ host [int $ port [int $ timeout]]) : < Maak verbinding met de FTP-server - in dit geval uw webserver.
-
: Stuur inloggegevens naar de FTP-server. ftp_put (resource $ ftp_stream, string $ remote_file, string $ local_file, int $ mode [int $ startpos])
-
: Plaats een bestand van de lokale machine naar de server. ftp_get (resource $ ftp_stream, string $ local_file, string $ remote_file, int $ mode [int $ resumepos])
-
: Download een bestand van de server en stuur het naar een lokale machine. ftp_close (resource $ ftp_stream)
-
: Sluit de verbinding met de server. U moet de FTP-stream sluiten zodra u klaar bent; anders heb je een open verbinding die kwetsbaar is voor kaping.