Doorsturen $_POST variable

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior PHP Developer

As a Senior PHP Developer at Coolblue, you ensure that our webshops work as optimal as possible and you choach other colleagues on the hard and soft skills. How do I become a Senior PHP Developer at Coolblue? As a PHP Developer you work together with other development teams to make our webshop work as optimal as possible and to make our customers happy. Although you are a PHP Developer, you are not averse to a little TypeScript or other technologies that might be used. Would you also like to become a PHP Developer at Coolblue? Read below if the

Bekijk vacature »

Front-end Developer

Onze klant is sinds 2 jaar actief als adviseur en bemiddelaar in de verzekeringsmarkt. Sindsdien proberen zij deze slapende markt flink wakker te schudden. Dit willen zij doen door het bouwen van slimme vergelijkers op hun eigen website en die van partners. Het bedrijf wil continu voorop lopen, zodat consumenten eenvoudig de verzekeringen kunnen vinden die het beste bij ze past. Functieomschrijving Als Front-end Developer werk je aan vergelijkingsmodules die consumenten dagelijks gebruiken bij het vergelijken en afsluiten van verzekeringen. Je vindt het leuk om samen te werken met de product owner, bestaande modules te verbeteren en nieuwe vergelijkers "from

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 Developer

Dit ga je doen Ontwerpen, ontwikkelen en onderhouden van (mobiele) internettoepassingen; Ontwikkelen en onderhouden van Microservices; Ontwerpen en optimaliseren van databases; Identificeren van nieuwe trends/ontwikkelingen binnen de branche. Hier ga je werken Deze marktleider op gebied van fietsen en fietservaring is gevestigd in twee provincies, verspreid over meerdere locaties. Jij zult voornamelijk in regio Joure aan de slag gaan. De organisatie doelt zich op het leveren van kwalitatief hoogwaardige producten aan alle hun klanten. De organisatie telt circa 4.000 medewerkers in meer dan 10 verschillende landen. Momenteel is de organisatie op zoek naar een Software Developer wilt meewerken aan het

Bekijk vacature »

Senior Product Developer

Functieomschrijving Als senior Product Developer ben je verantwoordelijk voor bestaande mobiliteitsproducten en de ontwikkeling van nieuwe mobiliteitsconcepten. Met behulp van diverse klantonderzoeken, klantsessies en salesmeetings zorg je ervoor dat je de veranderende mobiliteitsbehoeften in de markt kent. Hier speel je op in door innovatieve, flexibele, efficiënte en duurzame vervoersoplossingen te bedenken, te ontwikkelen, te implementeren en uiteindelijk samen met Sales en Marketing collega’s in de markt te zetten. Je initieert en neemt deel aan (internationale en afdeling overschrijdende) projecten, vaak in de rol van projectleider. In die rol bewaak je de voortgang, coördineer je de activiteiten en zorg je voor

Bekijk vacature »

.NET Developer

Functie omschrijving Jij gaat in de functie van Software Developer werken met C# en .NET framework. Jij gaat maatwerk software ontwikkelen en softwareoplossingen creëren. Daarnaast optimaliseer je de bestaande software. Oplossingen waar de klant echt iets aan heeft, jij krijgt er energie van op dit te realiseren. Je gaat werken in een Microsoft omgeving(ASP.NET) en gebruikt daarnaast C# en MVC. Samen met het huidige IT team binnen deze organisatie verwerk je de wensen van de klant tot een (eind)product. Bedrijfsprofiel Je komt te werken in een klein team van developers, die zich voornamelijk bezighouden met back-end development. Verder staat dit

Bekijk vacature »

SQL Developer

Functie omschrijving We are looking for a dutch native speaker Jij gaat in deze functie aan de slag met uitdagende projecten en het creëren van maatwerk software, vooral middels SQL. Iedere klant/project is weer anders, maar dat maakt dit bedrijf en de functie erg uniek & uitdagend. Verder heb je de volgende taken: Ontwikkelen en ontwerpen van SQL databases. T-SQL wordt hierbij gebruikt als programmeer laag; Optimalisatie van query's, voor een verbeterde efficiency; Begeleiden van junior developers, mits je dit leuk vindt; Heb je meer interesse in een rol als consultant, dan is dit ook mogelijk. Je heb hier meer

Bekijk vacature »

Back end developer Digital agency

Functie Heb jij altijd al eens bij een bedrijf willen werken waar jij géén nummertje bent, die alleen maar uitvoerend werk doet? Dan zou je hier perfect passen! Tuurlijk, je werkt aan projecten voor grote of kleine bedrijven… Het enige verschil hier is, jouw mening telt hier écht. Jouw inbreng wordt gewaardeerd, serieus genomen en gebruikt. En vergeet niet, je werkt niet alleen aan deze projecten. Er werken in totaal ruim 20 developers en designers, onderverdeeld over 3 development teams. Voornamelijk bestaande uit Medior en Senior developers, die samen voor een inspirerende en ambitieuze omgeving zorgen. Hun visie is namelijk

Bekijk vacature »

Front-end Developer vue.js node.js SaaS

Dit ga je doen Het ontwikkelen van nieuwe features die bijdragen aan de groei van de klanten van de organisatie; Je denkt mee over nieuwe innovaties, features en verbeteringen in de applicatiearchitectuur; Je draagt bij aan de continue ontwikkeling van jouw team doordat je elke dag streeft naar het verbeteren van jouw eigen prestaties; Je neemt actief deel aan Scrum meetings en de Frontend Guild. Hier ga je werken Voor een snel groeiend bedrijf de regio Nieuw Vennep zijn wij opzoek naar een ervaren Front-end Developer. De organisatie is actief in de e-commercebranche en ontzorgt haar klanten middels een SaaS-platform.

Bekijk vacature »

Database Developer

Functie omschrijving Voor een logistieke dienstverlener in omgeving Zuid Beijerland zijn wij op zoek naar versterking. Weet jij als geen ander systemen aan elkaar te koppelen en heb jij goede kennis van SQL en UML, lees dan snel verder! Jouw taken zien er als volgt uit: Je bent in deze rol voornamelijk verantwoordelijk voor het bouwen, implementeren en beheren van koppelingen tussen de bestaande systemen (zowel business 2 business als application 2 application). Daarnaast inventariseer je de wensen van in- en externe klanten, die je vervolgens samen met je collega's, vertaalt naar technische specificaties, die jullie zelf ontwikkelen en implementeren.

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 Dordrecht 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 »

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 »

Back End Developer

As a Back End developer at KUBUS you will be developing the (web) application and services of BIMcollab. You have a focus on the back end of our software, for which we mainly work with C# and .NET. We use a full-stack approach, which means that in addition to the back-end, you will also help with other parts of the code. As a software company, KUBUS is in a unique position. We build our own products that are used by tens of thousands of users worldwide. Our company is just the right size: big enough to make a real impact

Bekijk vacature »

Front end ontwikkelaar

Functie Het huidige team bestaat uit momenteel uit 5 back end developers verdeeld van senior tot junior. Omdat de gehele front end van applicaties anders gaan insteken zijn ze op zoek naar een ervaren Front end developer die hen kan helpen de juiste keuzes te maken. Je krijgt veel vrijheid om te bepalen hoe je dit wilt ontwikkelen en vrijheid in welke techniek je hiervoor wilt gebruiken. Je zult je dus bezighouden met architectuur, documentatie en natuurlijk ontwikkeling van nieuwe functionaliteiten binnen de verschillende applicaties. natuurlijk heb jij ook mogelijkheden om te sparren binnen het team, maar ze gaan uit

Bekijk vacature »

Senior Fullstack developer wanted! (C#, Java, Angu

Functie Under the guidance of 3 account managers, one of whom will be your point of contact within your expertise, you will start working for various clients. He or she will help you find a suitable and challenging assignment. Naturally, they will take your situation, experience and (technical) ambitions into account. The assignments last one to two years on average. This allows you to really commit to a project and make an impact as a consultant. Besides the assignment, you will regularly meet your colleagues from the IT department to share knowledge or discuss new trends, for example. Master classes

Bekijk vacature »

04/01/2017 17:30:59
Quote Anchor link
Wil de .php scripts buiten document root te houden maar is de toepassing zwaar met AJAX.

Zo...

JS -> AJAX post met URI 'mijnGeheimScript.php' -> LAMP -> (document_root)/.htaccess ->

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
    RewriteEngine on
        RewriteCond %{REQUEST_URI} -d
        RewriteRule "^/$" "/start_pagina.html"
    
    <IfModule mod_php5.c>
        php_value include_path "../assets/PHP"
        ErrorDocument 404 /proxy.php
    </IfModule>


En proxy.php:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php

preg_match("~.php$~", $_SERVER["REQUEST_URI"])
    ?
include ltrim($_SERVER["REQUEST_URI"], "/")
    :
http_response_code(404);
?>


Apache kunt niet mijnGeheimScript.php vindt (404) -> proxy.php is niet verzoekt vanuit externe dus geen $_POST | $_GET | $_REQUEST variable(s) zijn gecreëerd :( maar wel draaid mijnGeheimScript.php

.../assets/PHP/.htaccess ->

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

    Deny from all


Ideeën?
Gewijzigd op 05/01/2017 15:52:20 door
 
PHP hulp

PHP hulp

25/04/2024 12:27:27
 
Thomas van den Heuvel

Thomas van den Heuvel

04/01/2017 19:20:06
Quote Anchor link
Security through obscurity lijkt mij niet de weg om te gaan. Waarom mag men niet weten dat het PHP-scripts betreft? In nieuwere webservers/PHP-versies kun je er volgens mij voor zorgen dat er geen informatie naar buiten gaat over typen en versies.

Daarnaast zou je je applicatie kunnen laten werken via één voordeur (single point of entry): index.php. Deze zet je in je webdir, de rest van je PHP-code kun je buiten je webdirectory houden.
 
Ben van Velzen

Ben van Velzen

04/01/2017 19:20:28
Quote Anchor link
Waarom wil je je php scripts buiten de docroot houden? Voor configuratiebestanden is dat logisch, voor de rest niet echt. En nu zie je wat voor problemen je jezelf op de hals haalt.
 

04/01/2017 23:53:55
Quote Anchor link
Thomas van den Heuvel op 04/01/2017 19:20:06:
Security through obscurity lijkt mij niet de weg om te gaan.
Dit is 't niet. Beveiligd is 't.

Thomas van den Heuvel op 04/01/2017 19:20:06:
In nieuwere webservers/PHP-versies kun je er volgens mij voor zorgen dat er geen informatie naar buiten gaat over typen en versies.
Link / bewijs, AUB?

Thomas van den Heuvel op 04/01/2017 19:20:06:
Daarnaast zou je je applicatie kunnen laten werken via één voordeur (single point of entry): index.php. Deze zet je in je webdir, de rest van je PHP-code kun je buiten je webdirectory houden.
Hoe dan weet je welke script moeten draaien (en met welke query string)?
 
- Ariën  -
Beheerder

- Ariën -

04/01/2017 23:58:35
Quote Anchor link
- In PHP kan je de headers met de PHP-versie afschermen met de 'expose_php' directive op 0.
- Voor Apache en zijn versienummertjes kan dit met:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
ServerSignature Off
ServerTokens Prod


- En met Nginx kan dit met:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
server_tokens off;


Verder ontgaat mij nog steeds het exacte nut waarom je een proxy wilt bouwen? Je kan toch een AJAX-script bouwen die classes/methods/functies aanroept welke (zoals eigenlijk hoort) netjes buiten de webroot staan?
Gewijzigd op 05/01/2017 00:00:49 door - Ariën -
 

04/01/2017 23:59:14
Quote Anchor link
Ben van Velzen op 04/01/2017 19:20:28:
En nu zie je wat voor problemen je jezelf op de hals haalt.
Sorry, maar verwijten is niet behulpzaam :(
 
- Ariën  -
Beheerder

- Ariën -

05/01/2017 00:04:11
Quote Anchor link
Max Hopper op 04/01/2017 23:53:55:
Thomas van den Heuvel op 04/01/2017 19:20:06:
Daarnaast zou je je applicatie kunnen laten werken via één voordeur (single point of entry): index.php. Deze zet je in je webdir, de rest van je PHP-code kun je buiten je webdirectory houden.
Hoe dan weet je welke script moeten draaien (en met welke query string)?

Daar had ik al o.a in een ander topic al een oplossing voor gepost.
Gewijzigd op 05/01/2017 00:04:43 door - Ariën -
 
Thomas van den Heuvel

Thomas van den Heuvel

05/01/2017 01:06:44
Quote Anchor link
Max Hopper op 04/01/2017 23:53:55:
Thomas van den Heuvel op 04/01/2017 19:20:06:
Security through obscurity lijkt mij niet de weg om te gaan.
Dit is 't niet. Beveiligd is 't.

Uhm. Nee? Ik kan me een partij brakke code schrijven, en die vervolgens buiten de webdir plaatsen en via index.php aanroepen. Hoe is dat veiliger?

Daarnaast, zelfs als je rauwe php-bestanden door een of andere fout zou kunnen downloaden, dan is er echt meer aan de hand? Klinkt meer als hosting die steken laat vallen dan.

Je kunt dit soort discussies tot in het absurde voeren natuurlijk, met als eindconclusie dat niets veilig is. Dat is echter niet erg praktisch dus je zult tot op zekere hoogte aannames moeten doen. Het lijkt mij echter vaker het geval dat brakke code een boosdoener is dan webservers die hele rare dingen doen.
 

05/01/2017 16:00:26
Quote Anchor link
Werkt 't:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
    RewriteEngine on
        RewriteCond %{REQUEST_URI} -d
        RewriteRule \.php$ /proxy.php [end]
    
    <IfModule mod_php5.c>
        php_value include_path "../assets/PHP"
    </IfModule>

Nu is de hele bol super globals in de BESCHERMDE script zijn verkrijgbaar.

<full_disclosure>
inhout van ../assets/PHP/.htaccess:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
    Options -Indexes

    Deny from all

</full_disclosure>
Gewijzigd op 05/01/2017 16:24:58 door
 
Frank Nietbelangrijk

Frank Nietbelangrijk

05/01/2017 16:02:59
Quote Anchor link
>> Hoe dan weet je welke script moeten draaien (en met welke query string)?

Die informatie kun je halen uit de $_SERVER super-global array.

Ik zou zeggen: pak een eenvoudig PHP framework zoals bijvoorbeeld CakePHP. Daar heb je een hoop profijt van.
 

05/01/2017 16:14:07
Quote Anchor link
Uhh, alleen als de HTTP GET methode was gebruikte (en deze zijn AJAX POST met Content-Type: application/x-www-form-urlencoded en multipart/form-data met GEEN query string).

Edit:
Het is niet nodig om het voorlaatste bericht te quoten. Daarom heb ik deze verwijderd.
Gewijzigd op 05/01/2017 16:18:53 door - Ariën -
 
Frank Nietbelangrijk

Frank Nietbelangrijk

05/01/2017 16:24:16
Quote Anchor link
Nee je vat hem niet.

Single Point entry:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
http://example.com/                       ====>   [.htaccess]   ===>   http://example.com/index.php/
http://example.com/about                  ====>   [.htaccess]   ===>   http://example.com/index.php/about
http://example.com/contact                ====>   [.htaccess]   ===>   http://example.com/index.php/contact
http://example.com/contact/confirmation   ====>   [.htaccess]   ===>   http://example.com/index.php/contact/confirmation


Zoals je hierboven in het schema kunt lezen worden alle url's doorgestuurd naar index.php, het enigste php bestand in je webroot.
In dit index.php bestand doe je slechts een paar kleine simpele dingetjes. Alle andere php bestanden staan buiten je webroot.

Het heeft niets te maken met POST of GET of AJAX.

Een framework biedt je alles waar je nu om roept in dit draadje

onder andere:
- single point entry
- clean url's
- directory structuur
- tal van additional modules voor allerlei doeleinden
- een schat aan libraries

Toevoeging op 05/01/2017 16:31:06:

GOOGLE ook eens op MVC...
 

05/01/2017 16:33:46
Quote Anchor link
Heeft als met AJAX te maken.

'gewoon' URL verzoek (Chrome Inspector):
Request URL:https://acer-ubuntu:4443/WM_3.html
Request Method:GET
Status Code:200 OK
Remote Address:192.168.2.11:4443

'gewoon' AJAX verzoek vanuit WM_3.html (Javascript):
Request URL:https://acer-ubuntu:4443/validateAccountName.php
Request Method:POST
Status Code:204 No Content
Remote Address:192.168.2.11:4443

Accept:*/*
Accept-Encoding:gzip, deflate, br
Accept-Language:en-GB,en;q=0.8,nl;q=0.6,de;q=0.4,it;q=0.2
Connection:keep-alive
Content-Length:16
Content-Type:application/x-www-form-urlencoded; charset=UTF-8
DNT:1
Host:acer-ubuntu:4443
Origin:https://acer-ubuntu:4443
Referer:https://acer-ubuntu:4443/WM_3.html
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36
X-Requested-With:XMLHttpRequest

En nu, pakt 'proxy.php' de URI en 'include()' de gevraagd script.
Gewijzigd op 05/01/2017 16:36:01 door
 
Frank Nietbelangrijk

Frank Nietbelangrijk

05/01/2017 16:44:57
Quote Anchor link
Ik heb moeite om je te volgen dus misschien moet je je probleem wat beter omschrijven?

Maar er is een verschil tussen afgeschermde mappen IN of hoger dan je WEBROOT en bestanden BUITEN je webroot he?

Stel je webroot is:

/var/www/example.com/public_html (Je index.php is dus: /var/www/example.com/public_html/index.php)

Dan is dit een voorbeeld van een afgeschermde map:
/var/www/example.com/public_html/php ( in de php map staat dan een .htaccess met de inhoud 'Deny from all')

En dit is een voorbeeld van een map buiten je webroot:
/var/www/example.com/private (Hier kun je met het http protocol zowiezo niet komen)
 

05/01/2017 17:11:12
Quote Anchor link
Met een URL zoals: https://acer-ubuntu:4443/validateAccountName.php de script moet in DOCUMENT_ROOT liggen... ONBEVEILIGD.

'Deny from all'? Waar? In {DOCUMENT_ROOT}/.htaccess? De AJAX verzoek aan de script krijgt HTTP 403 (en gewoone URL verzoeken, ook).

Stel je dat scripts liggen in {DOCUMENT_ROOT}/PHP/ met een .htaccess inhout 'Deny from all'. Nu krijgt de verzoek HTTP 404. Of je de pad vanuit de Javascript aanpassen tot '/PHP/validateAccountName.php' is de AJAX verzoek: https://acer-ubuntu:4443/PHP/validateAccountName.php en krijgt de verzoek HTTP 403.

Toegang te scripts, wat liggen buiten DOCUMENT_ROOT door een script (proxy.php) dat woont in DOCUMENT_ROOT krijgt HTP 200.
 
Thomas van den Heuvel

Thomas van den Heuvel

05/01/2017 18:15:25
Quote Anchor link
Waarom gebruik je jouw oplossing (welke problemen lost dit op)? Motivatie? Want ik kan je (oplossingsrichting) eerlijk gezegd niet echt volgen.

Waar loop je tegenaan (oorspronkelijke bericht: je mist superglobals)? Heb je een concrete vraag?

Wie heeft je in hemelsnaam verteld dat een andere aanpak "onveilig" zou zijn? Kun je ook uitleggen waarom het onveilig zou zijn? Indien het gaat om het voorkomen van rechtstreekse aanroepen van bepaalde scripts: daar zijn ook andere, en wellicht makkelijkere, oplossingen voor.
 

05/01/2017 18:51:54
Quote Anchor link
Ik wil niet de IP binnen de scripts openbaar te maken. Ook niet de mappen structuur van de toepassing (ingezien van JavaScript / AJAX verzoeken). Zo, buiten DOCUMENT_ROOT moeten PHP scripts zitten.

En, ik wil graag andere, makkelijkere oplossingen te horen.

Doel: nul data lekkage
 
Frank Nietbelangrijk

Frank Nietbelangrijk

05/01/2017 19:34:59
Quote Anchor link
>> Doel: nul data lekkage

Je kunt de internetkabel uit je server trekken, dan heb je geen lekkage meer ;-)

Wat ik bedoel te zeggen:

Natuurlijk wil je bepaalde gegevens niet laten lekken maar wat jij doet is heel je huis met rolluiken beveiligen behalve de garagedeur welke je vervolgens vergeet in het slot te draaien.

Mag ik vragen wat die proxy.php doet. Krijg altijd een beetje de smaak van illegale praktijken in mijn mond van het woord proxy. En als dat niet het geval is wil je misschien vertellen wat je wel wilt gaan maken?
 

05/01/2017 21:53:34
Quote Anchor link
Niks -
Max Hopper op 04/01/2017 17:30:59:
En proxy.php:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php

preg_match("~.php$~", $_SERVER["REQUEST_URI"])
    ?
include basename($_SERVER["REQUEST_URI"])
    :
http_response_code(404);
?>


(maakte 't pad 'agnostisch')
Gewijzigd op 05/01/2017 22:50:33 door
 



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.