Acties via url veilig?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Java (Java EE) Developer

In het kort Werken als Java developer betekent werken aan complexe IT projecten bij onder meer een internationaal containeroverslag bedrijf. Zo sturen we apparaten en eindgebruikers aan d.m.v. onze custom-made software oplossing, die dagelijkse vele duizenden containers verwerkt. Denk aan systemen die volautomatische kranen aansturen en op afstand bedienen, de volledige afhandeling van containernummerherkenning bij het laden en lossen van zeeschepen of het tonen van instructies aan de chauffeurs van ruim 300 straddle carriers. En dat allemaal redundant, robuust en in een dynamische 24/7 omgeving! Jij versterkt ons ontwikkelteam en gaat aan de slag met oa. Java i.c.m. Spring (Boot),

Bekijk vacature »

Senior Front end developer

Functie Wij zijn op zoek naar een ambitieuze, zelfsturende Front-end Expert die ons (internationale) team komt versterken. Onze huidige software development afdeling bestaat uit 7 developers en designers. Wij zijn een écht softwarehuis, dus ervaring in software development is wel echt een must. Er wordt tegelijkertijd aan meerdere projecten gewerkt, voor mooie toonaangevende klanten. Je hebt dus regelmatig te maken met deadlines en opleveringen. Een deel van onze omgeving is in Angular.JS. Dit deel wordt langzamerhand omgebouwd naar de nieuwste versie van Angular. Jouw werkzaamheden zullen bestaan uit: Het aansturen en begeleiden van jouw collega’s Het implementeren van visuele elementen

Bekijk vacature »

.Net ontwikkelaar - Het schoolsysteem verbeteren!

Bedrijfsomschrijving Onze klant is een prettige en kleinschalige organisatie waar hard gewerkt wordt om het onderwijs te verbeteren. Daarom werken ze aan complexe om administratieve, financiële en facilitaire processen te versnellen en te verbeteren. Dit doen ze vanuit een platte organisatie voor klanten die door geheel Nederland verspreid zitten, hier horen vanzelfsprekend een aantal aansprekende HBO scholen en universiteiten toe. Functieomschrijving Je komt terecht in een organisatie waar op dit moment 2 scrumteams werken. Jij zal als .Net developer binnen 1 van deze scrumteams functioneren, iedereen binnen dit team heeft zijn/haar eigen expertise waardoor er met verschillende invalshoeken aan een

Bekijk vacature »

C# .NET Software Ontwikkelaar

Functie omschrijving C# .NET Developer gezocht. Ben jij een full stack developer die op zoek is naar een nieuwe uitdaging binnen een leuk snel groeiend bedrijf? Lees dan snel verder! Wij zijn op zoek naar een Developer met ervaring op het gebied van .NET die een organisatie in de regio Arnhem gaat versterken. Jij gaat je binnen dit bedrijf vooral bezighouden met het verbeteren van de functionaliteiten van hun dataplatform. Samen met andere ontwikkelaars denk je mee in oplossingsrichtingen, architectuur en nieuwe technologieën. Als C# .NET Developer binnen dit bedrijf houd je je niet alleen bezig met het verbeteren van

Bekijk vacature »

Network Engineer (f/m/d) in Heidelberg

Network Engineer (f/m/d) The IT Services team operates and supports the IT infrastructure and services at EMBL headquarters in Heidelberg and at the laboratory’s sites in Barcelona and Rome. As part of IT Services, the Network team is responsible for managing and developing the network infrastructure in our data centres, on campus, and to our external network providers. As a leading scientific institution with highly data-intensive research, extensive data flows at and between the laboratory’s six sites and to the Internet, EMBL is connected to national and international scientific networks using state-of-the-art technologies from vendors including Cisco, Extreme Networks and

Bekijk vacature »

Senior Java developer

Als Senior Developer bij Sogeti ben je onderdeel van onze toonaangevende best-gecertificeerde Java community. Deze bestaat uit ruim 100 gepassioneerde professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze top-opdrachtgevers. Geen werkdag is hetzelfde! Je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfskritische systemen. Een voorbeeld hiervan is een cliënt-volgsysteem bij Reclassering Nederland. Andere klanten waar wij onder andere voor werken: KPN, Philips, Nationale-Nederlanden, Kamer van Koophandel, ABN AMRO, Bovemij, Aval en de Nationale Politie. Natuurlijk krijg jij de mogelijkheid je verder te certificeren in dit vakgebied. We

Bekijk vacature »

Experienced Lead Java Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Delft Vacature ID: 13301 Introductie We are seeking a Lead Java Developer for our team in the area of Delft. You will develop an application used exclusively by the engineers and geologists for site characterizations, which imports raw field and laboratory measurements for further processing, integration, ground modelling, and geotechnical analysis and reporting. The client/server application is entirely written in Java, and the server is hosted in the Amazon cloud, utilizing frameworks such as Spring and Hibernate, and connected to an MS SQL Server RDS instance. There is a trend towards using more

Bekijk vacature »

Back-End Developer in Laravel / PHP

Functie omschrijving Wij zijn op zoek naar een Medior PHP Laravel Developer voor een gaaf bedrijf in de omgeving van Amsterdam! Voor een enthousiast team die zich graag bezig houdt met softwareontwikkeling zijn wij op zoek naar versterking. Je werkt in een klein ontwikkelteam en bent zeer betrokken bij alle aspecten van de softwareoplossingen. Van het ontwerpen tot de oplevering. Binnen deze functie ga je aan de slag met het aanpassen, verbeteren en vernieuwen van de logistieke oplossingen. Je krijgt veel te maken met koppelingen naar systemen en de verzoeken van de klant. Je komt terecht in een team, waarbij

Bekijk vacature »

Traineeship IT regio Amsterdam/Utrecht

Wat ga je doen? Het traineeship begint met een fulltime maand cursussen en praktijkdagen, waarin je de basis van het IT-vak leert op de Shared Servicedesk (SSD). Daarnaast ga je meteen aan de slag voor je eerste certificering! (ITILv4). Je start in een groep met 4 tot 10 deelnemers, waarmee jij gedurende die maand optrekt en je kennis kunt delen. Na het voltooien van de eerste maand ga je direct voor een langere periode aan de slag bij één van onze klanten of blijf je intern bij ons op de Shared Servicedesk. Je bent het eerste aanspreekpunt van de eindgebruikers

Bekijk vacature »

Informeel bureau zoekt Senior PHP developer

Functie Als senior PHP developer neem je het voortouw in ontwikkeltrajecten en ben je in staat werk uit te leggen aan collega’s om zo je kennis met hen te delen. Je deinst niet terug voor ingewikkelde projecten. Deze zie jij alleen maar als uit uitdaging. Je werkt doorlopend aan klantcases (en hierdoor je klant echt leert kennen), maar toch ben je afwisselend bezig. Dit alles in een vrije en ontspannen werksfeer, met een team van gelijkgestemde. Binnen de development teams werken ze met o.a. PHP, Laravel, React, Node, Elastic, Amazon AWS, JIRA, Solid, Domain-driven-design, Doctrine, Redis, docker, Kubernetes, CI, PHP

Bekijk vacature »

Integratie expert - Java Developer

Dit ga je doen Nieuw koppelingen ontwerpen, ontwikkelen en implementeren; Je schakelt met de klanten om hen zo goed mogelijk van dienst te zijn. Strategisch kijken naar nieuwe mogelijkheden op bestaande of nieuwe koppelingen zo effectief mogelijk te realiseren; Je bestaande toolset afwegen tegen nieuwe mogelijkheden om integratiedoelen steeds effectiever en/of effcienter te bewerkstelligen; Bestaande software koppelingen beheren, dit zijn koppelingen met zowel interne als externe systemen; Overleg met zowel directe collega's als met stakeholders om nieuwe integratieplannen concreet te maken; Je kunt de junioren meenemen op sleeptouw. Hier ga je werken Onze klant is op zoek naar een ervaren

Bekijk vacature »

Randstad B.V.- Freelance Senior Fullstack Develope

Startdatum: 01.05.2023 Richttarief: € 75,00 - €85,00 Duur van de opdracht: 1 jaar Uren per week: 40 Werkmodel: Hybride, dinsdag en donderdag aanwezig op kantoor in Diemen en meer wanneer dit nodig is. Functieomschrijving: De ideale kandidaat gaat onderdeel uitmaken van een junior team binnen het foundation domein. Vanuit het foundation domein werkt dit team samen met andere foundation teams en teams uit het online domein (professionals B2B en B2C) voor het bouwen en integreren van HRM functionaliteiten (verlof en benefits) in de persoonlijke portal van Interim Professionals. Er is meer backend werk dan frontend, maar kandidaat moet beiden leuk

Bekijk vacature »

Software Developer

Dit ga je doen Je bent verantwoordelijk voor de warehouse applicatie die een integratie heeft met de PLC laag; Je ontwikkelt in C#/.Net; Je bent verantwoordelijk voor het ontwikkelen van interfaces en het visualiseren van componenten; Je denkt mee over het design voor business oplossingen; Je bent verantwoordelijk voor het testen van de gebouwde oplossing. Hier ga je werken Voor een internationale organisatie in de transport zijn wij momenteel op zoek naar een Software Developer. Ze zijn wereldwijd de grootste speler en lopen voorop met het automatiseren van alle processen van de warehouses. Op dit moment wordt er nog gebruik

Bekijk vacature »

Back-end developer

Functieomschrijving Voor een gewaardeerde werkgever in regio Tilburg zijn wij op zoek naar een gemotiveerde SQL Developer/ functioneel consultant. Jij wordt verantwoordelijk voor zowel het ontwerpen en implementeren van SQL-databases als voor het in kaart brengen van de bedrijfsprocessen van een organisatie en het vertalen van deze processen naar IT-oplossingen. Jouw takenpakket komt als volgt uit te zien: Ontwerp en implementatie van SQL-databases: Je ontwerpt, ontwikkelt en implementeert SQL-databases om de data behoeften van de organisatie te ondersteunen; Analyse van bedrijfsprocessen: Je analyseert de bedrijfsprocessen van de organisatie om de behoeften van de klant te begrijpen en te vertalen naar

Bekijk vacature »

.NET developer

Functie As a .NET developer you work together in a multidisciplinary development team with 1-2 Senior .NET developers, two front-end developers, Data Scientists and one UX designer. As a team you work on developing a Cloud based application and making this application more stable. Unit testing will also become very important in your new position. Together with the Senior .NET developer you will be responsible for developing the API. You work with a lot of data and occasionally there will also be data issues and some queries will have to be run. This means that you will work a lot

Bekijk vacature »

Pagina: 1 2 volgende »

Tim S

Tim S

11/12/2012 13:02:13
Quote Anchor link
Hallo,

Ik zit met een vraag, is het veilig om acties uit te voeren via de url op een beveiligde pagina.

Dus stel ik wil een pagina aanpassen dan staat er in de url index.php&action=save-content&id=1. Als de gebruiker dan nu een 2 bij id invult dan wijzigt er een andere pagina, wat niet zo erg is wan het zijn zijn eigen pagina's. Maar als de gebruiker bezig is en halverwege per ongeluk op f5 drukt wordt dit ook meteen opgeslagen.

Zo zijn er natuurlijk meer voorbeelden, maar het gaat er om of dit veilig is en gebruikelijk??

Alvast bedankt
 
PHP hulp

PHP hulp

25/04/2024 20:54:34
 
Erwin H

Erwin H

11/12/2012 13:12:14
Quote Anchor link
Vuistregel:
GET - het verkrijgen van data van de server
POST - het verzenden van data naar de server

Als je deze vuistregel gebruikt zal je dus updates en inserts altijd via post requests doen. Ook is een post beter omdat je dan geen limiet hebt aan het aantal karakters dat je kunt versturen, wat bij get wel zo is. Het probleem van een veranderd id in de url ben je bij post ook kwijt. Kwaadwillende kunnen het zonder veel probleem nog steeds doen, maar per ongeluk zal het niet gebeuren.
 
Ozzie PHP

Ozzie PHP

11/12/2012 13:14:13
Quote Anchor link
Ik ga er vanuit dat je bekend bent met GET en POST requests. Wat jij doet, een actie via de url, is een GET request.

GET requests behoren gebruikt te worden om data op te halen / verkrijgen (to GET). POST requests zijn bedoeld om data te manipuleren. Opslaan acties behoor je eigenlijk dus niet te doen via een GET request, maar via een POST request met een formulier.
 
Tim S

Tim S

11/12/2012 13:19:17
Quote Anchor link
Het formulier wordt wel verstuurd met post, alleen de form action is pages.php&action=save-content&id=1.

Ik wil niet voor elke actie een apart php document ik doe dit liever op de pagina pages.php. Hierin heb ik dan een switch waarin in de afhandeling's documenten worden geinclude. Zo is het nog wel overzichtelijk maar heb ik wel alle documenten bij elkaar in een pagina.

Maar ik kan dus beter een hidden field gebruiken??
 
Chris PHP

Chris PHP

11/12/2012 13:20:04
Quote Anchor link
Tim Slootweg op 11/12/2012 13:02:13:
index.php&action=save-content&id=1.


Wat de twee heren hierboven zeggen klopt en kun je aanhouden. En om je snel uit te leggen waarom insert's, update's en delete's onveilig zijn via GET is als voglt.

Nu wijzig je de content van je id 1, maar als ik nu kwaad wil doen, zet ik daar bij id gewoon 2, 3, 4, etc neer om een ander record te wijzigen.

Dus kan er heel makkelijk verkeerde gegevens gewijzigd worden, escapes en 'invoerveiligheid' zijn dan niet van toepassing, want ik blijf een int (cijfer) geven alleen niet het id wat de bedoeling was.
 
Erwin H

Erwin H

11/12/2012 13:26:15
Quote Anchor link
Die 'action' parameter kan je gewoon behouden. Zelfs ook in de url of in een hidden input. Het id zou je echt niet in de url moeten plaatsen, maar ook in een hidden input.
 
Tim S

Tim S

11/12/2012 13:37:45
Quote Anchor link
Ja ik kan de id natuurlijk ook gewoon in het php gedeelte ophalen dus die hoeft dan niet in het formulier...

Alleen kom je als je op een pagina link klikt op de de pagina pages.php&action=view&id=1, nu haal ik gegevens op dus dit is goed. Op de view pagina staat boven de pagina een menu met de acties die je kunt uitvoeren. Als ik dan bijvoorbeeld de content ga wijzigen opent er een dialog met het formulier(tiny mce). Als ik dan op submit druk verstuur ik het formulier met method post. Maar als ik dan $_GET gebruik heb je nog steeds de id van pages.php&action=view&id=1 en deze is dan alsnog aan te passen. Zelfs als ik dit op het php gedeelte heb.

Dus kortom ik loop alleen even vast met de id...
 
Erwin H

Erwin H

11/12/2012 13:41:27
Quote Anchor link
Je kan dan ook het id nog in een hidden input plaatsen. Die gaat dan mee met de POST en die is bepalend. Bij een update gebruik je alleen de waarde in de POST en niet die in de GET.
 
Moose -

Moose -

11/12/2012 13:42:12
Quote Anchor link
Het is ook helemaal niet erg om die id in je url neer te zetten. Zolang je bij het opslaan van de data maar kijkt of je gebruiker ook daadwerkelijk dat id mag aanpassen
 
Tim S

Tim S

11/12/2012 13:43:43
Quote Anchor link
Maar als ik de id in een hidden field stop is het ergste probleem wel opgelost

Toevoeging op 11/12/2012 13:44:32:

Ja had het laatste bericht niet gezien, maar zo moet het dan wel werken.
 
Ozzie PHP

Ozzie PHP

11/12/2012 13:53:56
Quote Anchor link
Oh, wellicht ten overvloede...

Je hebt het over een beveiligde pagina. Ik weet niet exact hoe je dit gedaan hebt, maar stel... ik log in en vervolgens krijg ik dan een overzicht te zien van items die ik kan verwijderen. Allemaal prima. Echter, realiseer je wel dat ik als ik niet ben ingelogd nog steeds diezelfde url's kan aanroepen. Je zult dus voorafgaand aan iedere verwijder actie moeten controleren of de betreffende persoon is ingelogd.
 
Tim S

Tim S

11/12/2012 14:25:58
Quote Anchor link
De gebruiker moet inloggen om de pagina te bezoeken.
Als je het heel uitgebreid wilt doen kunt je werken met een user class met rechten, maar dit is nu goed.
 
Ozzie PHP

Ozzie PHP

11/12/2012 14:41:52
Quote Anchor link
Ja, maar snap je wat ik bedoel? De gebruiker logt in en krijgt dan de links te zien. Echter, een niet ingelogde gebruiker kan nog steeds de links aanroepen zonder ingelogd te zijn.
 
Tim S

Tim S

11/12/2012 14:45:39
Quote Anchor link
Hij kan ze wel aanroepen maar dan krijgt hij of zij de inlog pagina te zien. Misschien zie ik iets over het hoofd??

Toevoeging op 11/12/2012 14:47:24:

De beheer pagina is wel een aparte pagina.
 
Ozzie PHP

Ozzie PHP

11/12/2012 14:52:45
Quote Anchor link
Tim Slootweg op 11/12/2012 14:45:39:
Hij kan ze wel aanroepen maar dan krijgt hij of zij de inlog pagina te zien.

Oké, dan kan een kwaadwillende in ieder geval niks verwijderen. Lijkt me prima.
 
Tim S

Tim S

11/12/2012 15:05:02
Quote Anchor link
Ja mij ook en voor als ik het systeem ga uitbreiden ga ik wel iets gaan doen met rechten.
 
Kris Peeters

Kris Peeters

11/12/2012 15:28:19
Quote Anchor link
Okay, de discussie verlegt zich wat naar "rechten".

Een Admin panneel valt of staat bij een deftig inlog systeem.
Daarbij kunnen leden een "rol" krijgen (bv. "moderator", "contributor", "admin").

Een stuk content (bv. een bericht) krijgt altijd een auteur mee.

Bij het aanpassen of verwijderen moet je dus eerst controleren of de gebruiker rechten heeft om dit te verwijderen/aanpassen.

bv.
Een admin heeft alle rechten.
Een moderator mag alle pagina's aanpassen.
Een contributor mag enkel de eigen posts aanpassen.

Dus, dit alles hoor je te controleren.
 
Mark Hogeveen

Mark Hogeveen

11/12/2012 15:44:43
Quote Anchor link
Maar jullie zeggen aan het begin dat GET uitsluitend bedoeld is om data van de server zelf te ontvangen.
Maar hoe zit dat dan met de navigatie van bijna alle sites? Als ik bijvoorbeeld www.domeinnaam.nl/home heb dan is home of een map, of een bestand, waarbij de extentie is weggewerkt met mod rewrite of het is gewoon een get variabele die geen vraagteken of engelse "and" teken bevat omdat deze is ge mod rewrite.
Veel sites gebruiken dus GET variabelen om de gebruiker te navigeren naar een pagina, en dan is het vaak al de bedoeling dat de gebruiker die GET variabele zelf typt achter de domeinnaam.
Het is dus niet van de server.
Maar als je een menu met links op een pagina zet, en je klikt op een link die verwijst naar bijvoorbeeld www.domeinnaam.nl?page=home
Dan komt die GET ook niet van de server.
Facebookpagina's zijn een voorbeeld...
Gewijzigd op 11/12/2012 15:46:07 door Mark Hogeveen
 
Kris Peeters

Kris Peeters

11/12/2012 15:52:40
Quote Anchor link
Via mod rewrite kan je inderdaad GET-variabelen wat verstoppen. Maar het blijven wel GET-variabelen.
Kijk eens naar de url van deze pagina hier.

We zitten hier op en topic met id=88101
mod rewrite herschrijft dat dus in iets wat "mooier" is.
 
Tim S

Tim S

11/12/2012 15:54:10
Quote Anchor link
@kris
Ja dit klopt bij mij is er alleen admin recht op dit momen. En hoe noem je het dan als er iemand is die wel alle pagina's mag aanpasen maar niet mag verwijren bijv.

@harry,

Volgens mij staan alle bestande op een server, dus haal je met $_get gewoon iets van de server
Gewijzigd op 11/12/2012 15:55:31 door Tim S
 
Mark Hogeveen

Mark Hogeveen

11/12/2012 16:14:04
Quote Anchor link
Tuurlijk staan alle bestanden op de server, maar de GET request komt niet van de server maar van de browser, dat bedoel ik.
 

Pagina: 1 2 volgende »



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.