Beveiligde map benaderen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Productontwikkelaar Food

Wat ga je doen Als Productontwikkelaar Food ga je nieuwe producten ontwikkelen en bestaande producten verbeteren. Je bent hierbij betrokken bij het gehele proces: van productconcept naar proefreceptuur, het realiseren va het product (op kleine schaal) en het testen van producten in een productieomgeving. Verder: Bewaak je de status van verschillende fases van productontwikkeling en lever je tijdig de benodigde data aan Ben je bezig met de optimalisatie van oude en nieuwe recepturen Begeleid of organiseer je proefsessies (sensorisch onderzoek) in het team en/of bij klanten Onderhoud je contacten met de klanten, leveranciers van grondstoffen e.a. externe partijen Houd je

Bekijk vacature »

Senior PHP developer met ambities tot Software Arc

Functie Momenteel zijn ze op zoek naar een ervaren PHP developer die zichzelf graag bezighoudt met zaken als architectuur en de algehele verbetering van structuren en standaarden. Het is eigenlijk meer operationeel als uitvoerend omdat je bezig gaat met zaken als het verder uitrollen en verbeteren van testautomatisering, codereviews, tickets en de doorloop hiervan en architectuurkeuzes. Mocht je hiernaast ook wat DevOps kennis meenemen is dit mooi meegenomen! Vanwege het kleine team maar de wereldwijde impact die zij leveren is er veel focus op kwaliteit. In deze functie werk je aan één van hun belangrijkste applicaties. Hierin werk je nauw

Bekijk vacature »

Java Developer

Dit ga je doen Ontwerpen en bouwen van nieuwe functionaliteiten binnen de complexe omgeving; Proactief de processen kwalitatief en efficient inrichten; Opzetten van Unit Tests; Code Reviews; Regie nemen voor innovatieve projecten; Landschap beheren en de bijbehorende ketens hierbij in het oog houden. Hier ga je werken De organisatie is actief binnen de financiele branche en heeft een IT afdeling van circa 450 man. De organisatie voorziet de maatschappij binnen de financiele dienstverlening en is gedurende de jaren een onmisbare schakel geworden. Het is een high profile organisatie waar ze veel te maken hebben met veranderingen voortkomend uit maatschappelijke ontwikkelingen,

Bekijk vacature »

.NET Developer

Functie omschrijving .NET developer met ervaring gezocht! Voor een softwarebedrijf in de regio Veenendaal zijn wij op zoek naar een .NET developer met een aantal jaar ervaring. Jij bent zowel zelfstandig als in teamverband verantwoordelijk voor het ontwikkelen en verbeteren van bestaande producten. Verder ben je bezig met nieuwbouw van websites, webapplicaties en mobiele applicaties die zowel intern als extern gebruikt worden. Je werkt hierbij nauw samen met andere developer, productmanagers en productspecialisten om zo mooie producten te creëren. Bedrijfsprofiel De organisatie waar je voor gaat werken is een snelgroeiende softwareleverancier en allround dienstverlener. Deze organisatie heeft zowel klanten die

Bekijk vacature »

C# .NET Ontwikkelaar ASP.NET

Samengevat: Deze werkgever is een inkooporganisatie. Ben jij een ervaren .Net ontwikkelaar? Heb je ervaring met .Net en C#? Vaste baan: C# .NET Developer .Net MBO HBO €3.100 - €4.300 Onze missie is: “Een essentiële bijdrage leveren aan het verlagen van de integrale kostprijs van de aangesloten groothandels, middels het bundelen van inkoopvolume en het creëren van synergie met en tussen de groothandels en leveranciers, met scherpe inkoopprijzen, goede handelscondities en gerichte dienstverlening als resultaat” Zij werken voor MKB klanten. Deze werkgever heeft veel verschillende projecten. Houd jij van afwisseling? Dan zit je bij hun goed! De branche van dit

Bekijk vacature »

Senior Airport Developer ( System engineer)

De functie Nice to know (you) De nieuwe A-pier wordt de duurzaamste van Schiphol. Als deze af is ligt er 4000 vierkante meter zonnepanelen op het dak. En de toiletten? Die spoelen door met regenwater. we gaan ervoor: het creëren van de meest duurzame en hoogwaardige luchthavens ter wereld. een toekomstbestendig en duurzaam Schiphol. Daar werken we elke dag hard aan in team Development & Sustainability. Jij bent regisseur, expert én aanjager van de ontwikkeling van Schiphol. Connecting your world Hoe maak je de ambities en doelstellingen van Schiphol concreet in een project? De waarde voor Schiphol naar eisen die

Bekijk vacature »

Fullstack developer - medior

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie willen werken? Voor een mooi softwarebedrijf in omgeving Ridderkerk zijn wij op zoek naar versterking voor op de afdeling Software Development! Als Fullstack developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Werkzaamheden Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook regelmatig met

Bekijk vacature »

.NET developer

Functie Als .NET developer start jij in een ontwikkelteam met 15 developers en twee testers. Samen zijn jullie verantwoordelijk voor financiële applicaties met meer dan 50.000 gebruikers. Een deel van het team is verantwoordelijk voor de webapplicaties van deze organisatie. Ook zijn er twee app ontwikkelaars werkzaam in het team die zich focussen op de mobiele applicatie. Als .NET ontwikkelaar ga jij aan de slag met de webapplicaties van deze organisatie. Hierbij maak jij o.a. gebruik van C# .NET, ASP.NET, T-SQL, Angular en TypeScript. De nadruk van jouw functie ligt wel op de backend van de applicatie. Wat jouw functie

Bekijk vacature »

Lead developer

Functie Als lead developer wordt jij verantwoordelijk voor een van onze development teams. Samen met de Software Architect bewaak jij de kwaliteit en uitvoering van onze complexe vraagstukken. Daarnaast ben jij verantwoordelijk voor het inschatten, designen en ontwikkelen van middelgrote tot grote veranderingen in de software. Ook coördineer jij het proces rondom complexe technische vraagstukken. Verder bestaat jouw takenpakket uit het volgende: – Het aansturen van jouw development team; – Het begeleiden van Junior Software Engineers; – Het maken van technische analyses m.b.t. nieuwe aanvragen en het tijdsbestek inschatten voor de uitvoering hiervan; – Het uitvoeren van de ontwikkeling van

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Software Ontwikkelaar PHP

Functie omschrijving Software Ontwikkelaar PHP gezocht! Wij zijn op zoek naar een ervaren PHP Software Ontwikkelaar om het team van onze opdrachtgever te versterken! De ideale kandidaat zal fungeren als verlengstuk van klanten en complexe technische vraagstukken met enthousiasme benaderen. Naast het werken met de nieuwste technologieën, ben je in staat om aan meerdere projecten tegelijkertijd te werken. Als je deze uitdaging aangaat, werk je nauw samen met front-end developers en draag je bij aan het realiseren van grote veranderingen bij klanten. Het bedrijf zoekt iemand die zichzelf graag uitdaagt en altijd streeft naar het leveren van de beste resultaten.

Bekijk vacature »

Cloud Engineer

Ben jij een ervaren Cloud Engineer die complexe omgevingen kan overzien en wil je graag in vaste dienst werken bij een professioneel en kleinschalig bedrijf waar je een belangrijke rol kan spelen? Wij, IntelliMagic in Leiden, ontwikkelen specialistische IT monitoring software die we als SaaS oplossing verkopen aan grote bedrijven in Europa en de VS. We zijn een Nederlands bedrijf met een goede sfeer en met grote waardering voor de persoonlijke inbreng en kwaliteiten van onze medewerkers. Wij zoeken een ervaren Cloud Engineer met academisch denkniveau die verantwoordelijk wordt voor het beheer van de cloud infrastructuur voor onze Europese klanten.

Bekijk vacature »

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Senior Front-end developer (React)

Functie Met een ontwikkelafdeling van ruim 20 collega’s is dit zo ongeveer de helft van alle medewerkers. De software(ontwikkeling) is dan ook de drijvende kracht binnen de organisatie. Ze werken aan het verbeteren dan de bestaande, maar zeker ook nieuwe producten. De software bestaat uit verschillende (React) webapplicaties, maar ook een mobile (React native) app. Hierdoor kom je met verschillende uitdagingen in aanraking en is Mobile kennis natuurlijk mooi meegenomen. De software wordt door vele duizenden professionals dagelijks gebruikt en bevatten grote hoeveelheden data. Aan het team de uitdaging om hierin de best mogelijke gebruiksvriendelijkheid neer te zetten door gebruik

Bekijk vacature »

Database Developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als Database Developer met MS SQL of een vergelijkbare database? Wil jij werken voor een ambitieuze werkgever in regio Tilburg waar jij volledig de mogelijkheid krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je gaat projecten gedurende het hele proces begeleiden. Je sluit aan bij afspraken met klanten om hun processen helder te krijgen. Vervolgens voer jij het project uit en zorgt dat dit zo goed mogelijk verloopt; Je werkt aan nieuwe softwareoplossingen die de logistieke processen verbeteren of vernieuwen; Je houdt je bezig met het ontwikkelen van

Bekijk vacature »
Jer Tie

Jer Tie

26/01/2009 22:35:00
Quote Anchor link
Ik heb een afgeschermd deel van een site gebouwd waarop klanten kunnen inloggen en bijvoorbeeld rekeningen en offertes kunnen downloaden.
Aangezien op de PDF-bestanden klant gegevens staan wil ik dit zo goed mogelijk beveiligen.
Een beveiligde map leek mij het handigst, maar ik kom er maar niet achter hoe ik deze middels PHP ( zonder dat de klant inloggegevens (nogmaals) in hoeft te voeren!! ) kan benaderen.
Toen dacht ik dat ik misschien met CHMOD() kon gaan werken. Hoe weet ik niet precies, en ik weet ook niet in hoeverre dit veilig is...
Heeft iemand een oplossing voor mij?
 
PHP hulp

PHP hulp

01/09/2024 06:53:08
 
Joren de Wit

Joren de Wit

26/01/2009 22:39:00
Quote Anchor link
Het verstandigste is om deze map met pdfjes buiten je webroot te plaatsen, op die manier is het niet direct van buitenaf toegankelijk.

Om de pdfjes dan als download aan je klanten aan te bieden, gebruik je een PHP script. Bijvoorbeeld zo een als dit push download script. Voordeel is dat je in het betreffende PHP script direct een controle in kunt bouwen of de klant en ingelogd is en of de betreffende klant het opgevraagde pdfje wel mag downloaden...
 
Ed

Ed

26/01/2009 22:43:00
Quote Anchor link
Met de huidige klant gegevens een .htpasswd generen, deze koppelen via .htaccess. En dan laten linken met $_SERVER['PHP_AUTH_USER'] en $_SERVER['PHP_AUTH_PW']
 
Joren de Wit

Joren de Wit

26/01/2009 22:49:00
Quote Anchor link
@Danny: op die manier heeft een bevoegde klant alsnog toegang tot de hele map met pdfjes. En je voorkomt dus niet dat deze klant ook de pdfjes van andere klanten kan opvragen!

Daarvoor zul je nog een extra controle (met PHP) uit moeten voeren en dan ligt de oplossing die ik in mijn vorige post gaf veel meer voor de hand...
 
Ed

Ed

26/01/2009 22:52:00
Quote Anchor link
Blanche schreef op 26.01.2009 22:49:

Daarvoor zul je nog een extra controle (met PHP) uit moeten voeren en dan ligt de oplossing die ik in mijn vorige post gaf veel meer voor de hand...


Check, idd. Alleen buiten de webroot plaatsen lukt vaak niet bij een hoster, ten zij je een VPS hebt.
 
Joren de Wit

Joren de Wit

26/01/2009 22:57:00
Quote Anchor link
Dat is onzin! Jij kunt gewoon mappen aanmaken naast de public_html (of htdocs/www/etc) map en voila je bent al buiten de webroot. Als je bij een host zit die dat niet toelaat, zou ik echt overwegen om een andere host te zoeken...
 
Pepijn de vos

pepijn de vos

27/01/2009 07:30:00
Quote Anchor link
anders misschien met .htacces gewoon deny from all doen, dan kan je er vanaf web niet meer bij en jij met php nog wel.
 

27/01/2009 08:13:00
Quote Anchor link
Bouw er een loginsysteem omheen, de bestanden buiten de webroot houden en dmv php ophalen. Veiliger kan nog maar op 1 manier, en dat is uitprinten en opsturen per post!
 
Jer Tie

Jer Tie

27/01/2009 09:07:00
Quote Anchor link
Oke, ik snap wat jullie allemaal bedoelen :)
Optie die blanche aangedragen heeft ben ik aan het uitproberen.
Ik heb downloadscript geintegreerd, en de map in de root gezet waar ook public_html staat.
Maar wat moet ik nou invullen bij $sDir?

Het script wat is dus gebruik is:

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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL);
require '../../inc/stats.php';

function
getFile($sLocation, $sName)
{

    if(!file_exists($sLocation) || strstr($sLocation, '../'))
    {

        echo "<script>alert('Dit bestand bestaat niet.');</script>";
    }

    else
    {    
        header ('Cache-Control: must-revalidate, post-check=0, pre-check=0');
        header ('Content-Description: File Transfer');
        header ('Content-Type: application/octet-stream');
        header ('Content-Length: ' . filesize($sLocation));
        header ('Content-Disposition: attachment; filename=' . basename($sName));
        readfile($sLocation);
    }
}


$sDir = 'downloadscript/';
if(isset($_GET['file']))
{

    $sFile = trim($_GET['file']);
    if(!empty($sFile))
    {

        getFile($sDir.$sFile, $sFile);
    }
}
[
/code]

ik heb wat dingen geprobeerd zoals teruggaan met ../../ etc. maar dat werkt niet. ook heb domains/[i]domeinnaam[/i] geprobeerd, werkt ook niet.
Hoe werk dat?

En die 1e 3 regels.. wat zou ik met stats.php moeten doen?
Volgens mij kan ik de 1e 3 regels gewoon weg laten ,of niet?

Sorry, weet hier niet zoveel van zoals jullie merken!
Bedankt voor alle reacties tot nu toe :)
 
Arjan Kapteijn

Arjan Kapteijn

27/01/2009 10:49:00
Quote Anchor link
Aangezien deze vraag vorige week ook al gesteld is; even een copy-past van een voorbeeld wat ik had gemaakt.

Jouw voorbeeld is eng, en onveilig. Ik kan nu namelijk ook je index.phps of databasecode ophalen.

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
16
17
18
19
20
21
22
23
24
25
26
27
<?php
$map
= 'pdfs/';

if(!empty($_GET['pdf']))
{

    $pdf    = $_GET['pdf'];
    $pdfs   = glob($map.'{*.pdf,*.PDF}', GLOB_BRACE);
    
    if(in_array($map.$pdf, $pdfs))
    {

        header("Pragma: public");
        header("Expires: 0");
        header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
        header("Cache-Control: private",false);
        header("Content-Type: application/pdf" );
        header("Content-Disposition: attachment; filename=\"".$pdf."\";");
        header("Content-Transfer-Encoding: binary");
        header("Content-Length: ".filesize($map.$pdf));
        
        readfile($map.$pdf);
    }
else{
        echo '<p>Sorry, dit bestand bestaat niet!</p>';
    }
}
else{
    echo '<p>Sorry, ik verwacht een bestand!</p>';
}

?>


Dit voorbeeld werkt met een map 'pdfs', in dezelfde 'map' als deze 'download.php'. Die 'download.php' spreek je vervolgens aan met een ?pdf=bestandsnaam.pdf. Hierin kun je dan nog controleren of de gebruiker ingelogd is en rechten heeft om 'die' pdf op te halen.

Je kunt die map met pdfjes vervolgens op 2 manieren beveiligeren; een deny from all of hem buiten je webroot plaatsen. In het laatste geval zul je de $map moeten aanpassen naar de juiste locatie, doormiddel van de ../../ methode of de directe locatie.
 
Jer Tie

Jer Tie

27/01/2009 11:45:00
Quote Anchor link
Met deny from all bedoel je CHMOD 000 ?

ik krijg ook deze melding nu:


Warning: in_array() [function.in-array]: Wrong datatype for second argument in /home/etc./etc/etc/file.php on line 9
Gewijzigd op 01/01/1970 01:00:00 door Jer Tie
 
Arjan Kapteijn

Arjan Kapteijn

27/01/2009 12:06:00
Quote Anchor link
Wat denk je dat er gebeurd met een CHMOD 000? Juist, -niemand- kan nog bij de bestanden. Ook jij en PHP niet meer. Van wie heb je dit soort dingen geleerd? In je startpost wou je ook al aan de slag met CHMOD...
 
Jer Tie

Jer Tie

27/01/2009 12:19:00
Quote Anchor link
Zoals ik al zei weet ik er niet veel van, zeker van beveiliging niet.
Ik dacht met CHMOD kan je m niet meer bereiken, dus deny from all? (A)
Verkeerde gedachte blijkbaar...
sorry
 
Joren de Wit

Joren de Wit

27/01/2009 12:30:00
Quote Anchor link
Zodra je de map met pdfs buiten je webroot hebt staan is deze al niet meer van buitenaf te bereiken. Een .htaccess met deny from all heeft in dat geval dus ook totaal geen nut meer...
 
Jer Tie

Jer Tie

27/01/2009 13:02:00
Quote Anchor link
oke!! ja, klinkt logisch :)
 



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.