Bestanden op ftp-server beveiligen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Sure Is

Sure Is

25/03/2009 14:38:00
Quote Anchor link
Hello!
Ik heb net ontdekt dat je met een vrij eenvoudig script alle bestanden vanop iemands ftp-site gewoon kan downloaden. En dus ook de config-files waar bijvoorbeeld de gegevens voor database-connectie in staan.
Is er een manier om er voor te zorgen dat dat onmogelijk is?
En is er een manier om er voor te zorgen dat je onmogelijk kan zien welke bestanden er in een bepaalde map zitten? (bv dat je niet kan opvragen welke html-files er allemaal in de map "webpages" zit)

Bedankt!
 
PHP hulp

PHP hulp

22/12/2024 11:45:01
 
Arjan Kapteijn

Arjan Kapteijn

25/03/2009 15:03:00
Quote Anchor link
Ja, een gebruikersnaam en wachtwoord op je FTP zetten.
 
Sure Is

Sure Is

25/03/2009 15:20:00
Quote Anchor link
Wat bedoel je juist? Is niet elke ftp-site beveiligd met een passwoord? of bedoel je de directory beveiligen?
In het eerste geval kan je toch nog steeds de config.php downloaden via bijvoorbeeld:

---1.php----

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
  $file
=$_GET['file'];
  if(is_file($file)){
    header("Pragma: public");
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Content-Type: application/force-download");
    header("Content-Type: application/octet-stream");
    header("Content-Type: application/download");
    header("Content-Disposition: attachment; filename=".basename($file).";");
    header("Content-Transfer-Encoding: binary");
    header("Content-Length: ".filesize($file));
    readfile($file);
  }

?>


en dan als linkje
<a href='1.php?file=config.php'>link</a>
 
Arjan Kapteijn

Arjan Kapteijn

25/03/2009 15:21:00
Quote Anchor link
Dit heeft niks met een FTP te maken. Wat is nu eigenlijk je probleem... Je creëert een onveilig script en daardoor kun je onveilige dingen doen?
 
Jurgen assaasas

Jurgen assaasas

25/03/2009 15:23:00
Quote Anchor link
Je kunt geen PHP files downloaden via HTTP. Dit is expres zo gedaan.
 
Sure Is

Sure Is

25/03/2009 15:28:00
Quote Anchor link
@ Arjan:
True, maar ik vroeg me af, stel dat iemand een soort gelijks script gebruikt, en hij weet mijn config.php staan, kan die dan niet op dezelfde manier dat bestand downloaden? Want via dat script is het dus mogelijk...
M.a.w.: er moet toch ergens een script bestaan waar je kan invoeren: download mij de file "http://www.websiteadres.nl/direcorty/config.php" . En als dat mogelijk is, hoe kan ik mij daar dan tegen beveiligen?
 
Eddy E

Eddy E

25/03/2009 15:35:00
Quote Anchor link
Je zou dan de output krijgen van config.php.... en die is er waarschijnlijk niet.
Net zoals een class zelf geen output heeft.

Dus dan is er niets aan de hand.
PHP-bestanden worden alleen uitgevoerd (dus de html!) doorgestuurd naar andere gegevens.
 
Sure Is

Sure Is

25/03/2009 15:39:00
Quote Anchor link
Dus als ik het goed begrijp, kan je de config ONuitgevoerd wel downloaden als je het bovenstaande script op je website zet,
maar je kan config enkel uitgevoerd downloaden als het script op een andere website zou staan?
 
Arjan Kapteijn

Arjan Kapteijn

25/03/2009 15:45:00
Quote Anchor link
Normaal beveilig je de boel door alleen bestanden uit een bepaalde map te laten downloaden.
 
Jurgen assaasas

Jurgen assaasas

25/03/2009 15:46:00
Quote Anchor link
Je kunt alleen downloaden met dat script van je eigen server. Het is dus niet mogelijk dat ik een scriptje bouw en jou files download (tenzij ik FTP login gegevens heb).
 
Sure Is

Sure Is

25/03/2009 15:55:00
Quote Anchor link
Ok, bedankt allemaal van de antwoorden!
Concreet was ik dus op zoek naar het antwoord van Jurgen, mijn vraag misschien een beetje slecht verwoord, mijn excuses :) .

Een bijkomend vraagje: is het mogelijk dat iemand met één of ander scriptje of via een special google search ziet welke bestanden je hebt staan op je server (zonder ze te kunnen downloaden). M.a.w. dat men kan zien: de map "map1" bevat de mappen "map4" en "map6" en de bestanden "about.html" en "inlog.php".

Thx again!
 

25/03/2009 15:57:00
Quote Anchor link
Dat kun je allemaal zelf instellen in Apache, zie htmlleren.nl oid
 
Jurgen assaasas

Jurgen assaasas

25/03/2009 16:09:00
Quote Anchor link
Daardoor kan je ze juist downloaden. Best logisch toch... Je wilt ze zelf weergeven. Als je wilt dat mensen niets kunnen downloaden.. Zet het dan gewoon niet online.
 
Sure Is

Sure Is

25/03/2009 16:16:00
Quote Anchor link
Het gaat niet echt om bestanden downloaden, maar om .html en .jpg-files...

Het zit zo, ik wil elke dag een andere afbeelding laten zien via een redelijk simpel php-ding dat ik gemaakt heb.
Nu heb ik een folder met daarin al mijn afbeeldingen, dag 1 moet afbeelding "1343442.jpg" verschijnen, dag 2 "15382042.jpg" enzovoort. Maar het is vrij belangrijk dat iemand op dag 1 de afbeelding van dag 2 nog niet kan zien (maar deze afbeelding is uiteraard wel al upgeload op de server).
Ik heb de afbeeldingen random genoemd dus door te gokken kom je er (zo goed als) nooit, maar als iemand kan zien welke bestanden allemaal in die map zitten, dan heb ik een probleem, want dan kan die op dag 1 ook afbeelding "15382042.jpg" bekijken door gewoon in de browser: http://www.mijnsite.nl/random/15382042.jpg te tikken.
Gewijzigd op 01/01/1970 01:00:00 door Sure Is
 
Jurgen assaasas

Jurgen assaasas

25/03/2009 16:23:00
Quote Anchor link
Gewoon:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
Options -Indexes


in .htaccess of apache2.conf/httpd.conf

Hierdoor kun je niet meer zien welke files er zijn (behalve index.html/php etc..)
 
Sure Is

Sure Is

25/03/2009 16:34:00
Quote Anchor link
Edit: dat zorgt ervoor dat, als je bijvoorbeeld "www.mijnwebsite.nl/images/" ingeeft, je geen lijst krijgt met de afbeeldingen, maar een foutmelding.
Dit is echter op mijn server zowieso al het geval, ook zonder Options -Indexes in .htaccess te plaatsen...

Ik vraag me dus eigenlijk gewoon af: kan iemand op één of andere manier op dag 1 te weten komen dat er op de server nog afbeeldingen staan (die pas te zien zullen zijn op dag 2). De afbeelding voor dag 2 heeft uiteraard CHMOD 755 aangezien ze op dag 2 bekijkbaar moet zijn...
Gewijzigd op 01/01/1970 01:00:00 door Sure Is
 
Jurgen assaasas

Jurgen assaasas

25/03/2009 18:31:00
Quote Anchor link
Als je afbeelding 2 niet op dag 1 wil laten zien moet je dus chmodden naar 700. Maar dit boeit niet. Als jij random filenames hebt dan gaat niemand maar even voor de lol raden hoe dat bestand nou zou kunnen heten, door 10000x de urlbalk te veranderen.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.