Maak php script uitvoerbaar op pagina maar niet voor iedereen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jeroen dj

Jeroen dj

20/12/2014 11:34:53
Quote Anchor link
Ik heb zegmaar een array login voor users die hierna op een soort panel komen.
Hier heb ik een download en een clear logs knop
Dit werkt allemaal leuk maar het is niet beveiligd

Iedereen kan iemand anders zn logs gewoon downloaden
Aangezien het een href naar een script is die een bestand download: http://testdomain.nl/user/111/download.php
Wat dit download script doet is hij download het bestand: http://testdomain.nl/user/111/logs.php
Is het mogelijk om logs.txt niet readable te maken maar alleen downloadbaar door download.php (waar bescherming op zit)

(BTW. dit is in een testomgeving, de gebruikers hebben dit nog niet)
 
PHP hulp

PHP hulp

26/04/2024 04:43:30
 
- SanThe -

- SanThe -

20/12/2014 11:46:20
Quote Anchor link
De downloadbestanden buiten de webroot zetten.
 
Jeroen dj

Jeroen dj

20/12/2014 11:49:46
Quote Anchor link
- SanThe - op 20/12/2014 11:46:20:
De downloadbestanden buiten de webroot zetten.


Dit lijkt me niet echt overzichtelijk, heb namelijk voor elke user een folder met de bestanden
 
John D

John D

20/12/2014 11:54:34
Quote Anchor link
gewoon checken of het inderdaad user 111 is die http://testdomain.nl/user/111/download.php uitvoert. Wanneer het user 112 is dan weigeren. Lijkt me niet zo heel moeilijk om dat in de php op te nemen.
 
Jeroen dj

Jeroen dj

20/12/2014 11:55:35
Quote Anchor link
John D op 20/12/2014 11:54:34:
gewoon checken of het inderdaad user 111 is die http://testdomain.nl/user/111/download.php uitvoert. Wanneer het user 112 is dan weigeren. Lijkt me niet zo heel moeilijk om dat in de php op te nemen.

Klopt dit heb ik namelijk al in de download.php gezet maar als je gewoon naar de raw log gaan
http://testdomain.nl/user/111/logs.txt kunnen ze die gwn bekijken
 
- SanThe -

- SanThe -

20/12/2014 11:57:11
Quote Anchor link
Dan zal je de mappen moeten beveiligen want een bestand met de naam logs.txt is gewoon door iedereen te bekijken.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

20/12/2014 12:03:30
Quote Anchor link
bezint eer ge begint...

Alle bestanden in de webroot mogen door alles en iedereen gelezen worden BEHALVE bestanden waarvan de naam begint met een punt (.) en bestanden met de extensie .php . (PHP bestanden mogen wel opgevraagd worden maar worden dan uitgevoerd en het resultaat krijg je te zien in de browser).

Beveiligen dus die usermappen of alles ligt op straat. Als je er dan van buitenaf niet meer in kan komen kan php er nog wel inkomen dus kun je inderdaad met php de boel regelen.
 
Jeroen dj

Jeroen dj

20/12/2014 12:23:48
Quote Anchor link
ik wil die logs.txt in die map houden, bij de delete logs word het bestand leeggegooit en worden hier weer nieuwe logs ingezet later kan ik niet met .htaccess logs.txt alleen toegang geven aan download.php? zoniet wat zal ik dan doen?
 
- Ariën  -
Beheerder

- Ariën -

20/12/2014 12:40:00
Quote Anchor link
Ik snap niet waarom je de map met logs niet buiten je webroot zet? PHP kan er gewoon bij.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

20/12/2014 13:10:35
Quote Anchor link
Je kunt die mappen beveiligen met een .htaccess bestand met daarin de tekst
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
Deny from all


Maar realiseer je dat dan alle bestanden niet meer rechtstreeks te benaderen zijn.

Indien je apache 2.4 hebt moet het worden:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
Require all denied
Gewijzigd op 20/12/2014 13:12:11 door Frank Nietbelangrijk
 



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.