Lek mail-script weer veilg maken?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Front-End Developer

As a Front-End Developer at Coolblue you improve the user-friendliness of our webshop for millions of customers. How do I become a Front-End Developer at Coolblue? As a Front-End Developer you work on the user-friendliness of our webshop for millions of customers. You enjoy working with the UX Designer to pick up stories. You get energy from coming up with creative solutions and are happy to present these within the team. You also take pride in your work and welcome any feedback. Would you like to become a Front-End Developer at Coolblue? Read below if the job suits you. You

Bekijk vacature »

Medior/senior Back-end developer wanted!

Functie Because of the growth within the company, we are looking for reinforcement in the devlopmenttean. As a back-end developer you build the company software that helps us with the primary processes. A fun (internal) project in which you continuously develop the software! You will work in a small team, we have daily stand-ups and a scrum session every fortnight, led by our Scrum Master. During these sessions, you get the opportunity to present your ideas and discuss them with your fellow developers and the Product Owner. Within the development teams, we use Trello, Gitlab, Jiira, Confluence and Boockstack. They

Bekijk vacature »

.NET Developer gezocht!

Functie omschrijving Wij zijn op zoek naar een .NET Developer! Wil jij werken voor een internationaal bedrijf waar je legio mogelijkheden krijgt als Software Ontwikkelaar? Grijp nu je kans en kijk snel of jouw vaardigheden aansluiten bij onderstaand profiel! Je kunt een uitdagende rol gaan vervullen als .NET Developer binnen een internationaal bedrijf dat gevestigd is in omgeving Bergen. Dit bedrijf is zeer vooruitstrevend en verricht betekenisvol werk. Binnen dit bedrijf wordt gewerkt aan de productie en ontwikkeling van medische middelen. Als .NET Developer ga jij je bezig houden met het volgende: Je wordt betrokken bij alle fasen van software

Bekijk vacature »

Scrum Master

TenneT is hard groeiend om de onze ambities waar te kunnen maken. Zo nemen wij een leidende rol in het aanjagen van de energietransitie. Het werven van nieuw talent speelt daarin een cruciale rol. Wij zijn op zoek naar een gedreven Scrum master op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je begeleidt twee teams binnen de afdeling Platform Services (PLS). Je helpt mee de devops manier van werken van de teams verder door te ontwikkelen. Je helpt de PO bij het managen van de product backlog; het voorbereiden van

Bekijk vacature »

Microsoft Acess Developer

Functieomschrijving Wat ga je doen? Heb jij ongeveer 3 jaar ervaring als Software Developer, en komen de volgende kennisgebieden jou niet vreemd voor: MS Acces, C# & SQL? Vind jij het daarnaast leuk om maatwerk software te ontwikkelen voor klanten in een bijzondere branche? Lees dan snel verder! Als developer ben jij samen met een gemotiveerd team van 10 collega’s verantwoordelijk voor het creëren van aangemeten software voor klanten. Je bent klantvriendelijk en oplossingsgericht ingesteld, omdat het essentieel is om de klanten zo goed mogelijk te helpen met hun uitdagingen. Het is mogelijk om vanuit huis je werkzaamheden uit te

Bekijk vacature »

Ervaren C#.NET developer

Functieomschrijving We zijn op zoek naar een ervaren C#.NET programmeur voor een moderne werkgever in de regio Prinsenbeek. Als programmeur zal je bezig zijn met het ontwikkelen van op maat gemaakte webapplicaties voor verschillende klanten, waarbij je ervoor zorgt dat complexe processen zo goed mogelijk worden ondersteund. Je takenpakket omvat onder andere: Werken met databases en dataopslagoplossingen, implementeren van beveiligingsoplossingen en het waarborgen van de beveiliging van applicaties en gegevens, evenals het schrijven van technische documentatie en gebruikershandleidingen. Het ontwikkelen en onderhouden van C#.NET-applicaties. Bijdragen aan het ontwerp en de architectuur van softwaretoepassingen. Het schrijven van hoogwaardige en herbruikbare codes.

Bekijk vacature »

Als Lead PHP developer bijdragen aan het onderwijs

Functie Als Lead PHP developer zet je samen met het team en de andere lead developers de technische lijnen uit als het gaat om het ontwikkelen van de applicaties en bepaal je samen met de PO waar elke sprint aan gewerkt zal worden. Je kunt op basis van een user story een goede aanpak formuleren en een planning opstellen, en andere hierin meenemen. Wanneer je team code schrijft verwacht je degelijke oplossingen, bij voorkeur gebruik makend van Domain Driven Design. Je ziet toegevoegde waarde in het beoordelen van het werk van collega’s om zo samen te streven naar hoge kwaliteit

Bekijk vacature »

PHP Developer

Zie jij mogelijkheden om onze tooling technisch te verbeteren en uit te bouwen? Over Jobmatix Jobmatix is een innovatieve en internationale speler op het gebied van jobmarketing. Onze jobmarketing automation tool helpt organisaties bij het aantrekken van nieuw talent door vacatures digitaal, geautomatiseerd en op een efficiënte manier te adverteren en onder de aandacht te brengen bij de doelgroep op 25+ jobboards. Volledig performance-based, waarbij organisaties betalen op basis van cost per click of cost per applicant. Maandelijks wordt onze jobmarketing automation tool al gebruikt door vele directe werkgevers, intermediairs en mediabureaus, waaronder Picnic, Rijkswaterstaat, AdverOnline, Schiphol, DPA, Teleperformance en

Bekijk vacature »

Junior .NET developer

Functie Wij hebben drie scrumteams. Het eerste team focust zich op het stukje hardware wat wij in huis doen. Zij maken als team o.a. gebruik van C++. De andere twee scrumteams zijn allebei bezig met data verwerking en maken hierbij in de backend gebruik van C# .NET / .NET Core. Het verschil tussen deze teams is dat één team de data verwerking doet voor de mobiele applicatie. Zij werken hierbij dus ook met Xamarin. Het andere team focust zich op de webapplicaties en maakt hierbij ook gebruik van ASP.NET MVC. Op basis van jouw ambities en kwaliteiten kijken wij samen

Bekijk vacature »

Software programmeur

Functieomschrijving Voor een erkende werkgever in de regio van Goes zijn wij op zoek naar een enthousiaste software programmeur met PHP/Symfony ervaring. Een gedreven persoon die het development team komt versterken met het aanpakken van complexe projecten. Ben jij op zoek naar een baan met veel uitdaging binnen een snelgroeiend e-commerce bedrijf, waar je de tijd en ruimte krijgt voor zowel professionele als persoonlijke groei? Lees dan snel verder! Dit ga je doen: Beheer en ontwikkeling van de serviceportal in Symfony en de webshops in de tweede versie van Magento; Testen en door ontwikkelen van software; Ontwikkelen van nieuwe functionaliteiten;

Bekijk vacature »

React developer Inhouse cloudplatform

Functie De functie: Als front-end developer kom je te werken naast 2 andere front-end/React developers, waaronder één senior. Een hele mooie kans dus om in korte tijd veel nieuwe kennis en ervaring op te doen. Ze hebben momenteel veel werk hierin en daarom willen ze het team graag uitbreiden. Het is van belang dat je, zeker gezien het vele thuiswerken, in ieder geval al een aantal projecten hebt gedaan in React. Taken waar je aan kunt denken zijn het ontwikkelen van client-applicaties o.b.v. HTML5, React en andere open standaarden. Ook ben je nauw betrokken bij het implementeren van designs o.b.v.

Bekijk vacature »

App Developer

Samen werken aan een gezonder Nederland en toekomstbestendige zorg voor iedereen. Dat is de impact die jij kan hebben als App Developer bij VGZ. Wil jij een bijdrage leveren aan een maatschappij waarin iedereen zich thuis voelt? Bekijk dan de vacature. Uit onderzoek van Computable is VGZ verkozen tot ‘beste niet-ICT werkgever voor ICT’ers van Nederland’ Hoe ook jij het verschil maakt Als App developer werk jij aan het belangrijkste communicatiekanaal van VGZ, namelijk de App! Als App developer bij VGZ maak je onderdeel uit van een van onze App-teams. Met een goede mix van kennis en ervaring zet je

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 »

Senior developer (PHP en VB.NET)

Functie De development afdeling bestaat uit 2 teams. Het productteam (10 developers) is verantwoordelijk voor verschillende applicaties met als doel om zoveel mogelijk te automatiseren en uit te werken tot standaard software. Met diverse Solutions Architecten en ervaren developers denken ze voortdurend mee met hun klanten en bouwen ze de basis van het uiteindelijke maatwerk dat wordt geleverd. Hiernaast hebben ze een maatwerk/projectteam. Dit team bestaat momenteel uit 8 developers (junior tot senior) en is verantwoordelijk voor het maatwerk in hun klantprojecten. Momenteel zijn ze op zoek naar een senior developer die aan de slag gaat in het productteam. Hierin

Bekijk vacature »

Front end developer binnen het onderwijs

Functie Het doel van dit team is om te zorgen dat de studenten altijd op de hoogte zijn van relevante informatie en de mogelijkheid hebben om online vragen te stellen. Hiervoor hebben ze een portal ontwikkeld. De app is echt een greenfield project met een eigen inrichting middels cloud. De ontwikkeling wordt gedaan door gebruik te maken van oa. Javascript, React, CSS, Next.js, GraphQL in een Azure Cloud omgeving. Daarnaast gebruiken ze tooling als Figma, storybook, Jest en Github. De complexiteit in deze rol zit hem in het feit dat data uit verschillende bronsystemen komt waarbij er zowel gekoppeld wordt

Bekijk vacature »
MArk Peters

MArk Peters

10/05/2013 12:53:17
Quote Anchor link
Ik kreeg van mijn provider te horen dat mijn mailscript zo lek als een mandje was.
Kan iemand mij uitleggen waarom dat is en hoe ik dat moet aanpassen. Mochten de aanpassingen te veel zijn houd ik me aanbevolen voor een goed en veilig alternatief.
Hier de code
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?  
//pas de onderstaande variabelen aan naar jouw wensen
$adminaddress = "xx@xx,nk";
$siteaddress ="http://www.xxx.nl";
$sitename = "XXX";

//hieronder hoeft in principe niets ge-edit te worden...


// Haalt de tijd en de datum van de server

$date = date("d/m/Y H:i:s");


// Haalt de informatie dat gepost is door Flash
$action = $HTTP_POST_VARS['action'] ;
$email = $HTTP_POST_VARS['email'] ;
$naam = $HTTP_POST_VARS['naam'] ;
$bericht = $HTTP_POST_VARS['comments'] ;

//De informatie uit de tekstbalken (de variabelen) wordt gestructureerd naar jouw email adres gestuurd.

if ($action == "send") {
    //hieronder kan de tekst worden aangepast
    //een harde enter wordt weergegeven als /n
    //alles na een $-teken is een variabele

    mail ("$adminaddress","Bericht van $siteaddress",
    "Een bezoeker van $sitename heeft het volgende bericht achtergelaten\n
    Naam: $naam
    Email: $email
    ______________________________
    
    $bericht
    
    

    ______________________________

    Date/Time:  $date"
,"FROM:$adminaddress" ) ;
    
    
    //De verzender van de email krijgt automatisch een bedankje
    //deze tekst is ook aan te passen.

    mail ("$email","Dank U voor het bezoeken van $sitename",
    "Geachte $naam,\n
    Dank u voor uw interesse in $sitename.\n
    Uw mail wordt zo snel mogelijk in behandeling genomen.\n

    Met Vriendelijke Groet,\n
    t \n
    $siteaddress"
,"FROM:$adminaddress"
    ) ;
    
    //Deze bevestiging wordt naar Flash gestuurd als alles is afgerond.
    $sendresult = "Dank u wel. U ontvangt binnen enkele seconden een bevestigingsmail.";
    $send_answer = "answer=";
    $send_answer .= rawurlencode($sendresult);
    echo $send_answer;
}

?>
Gewijzigd op 10/05/2013 12:54:30 door MArk Peters
 
PHP hulp

PHP hulp

17/11/2024 18:35:31
 
Eddy E

Eddy E

10/05/2013 12:58:04
Quote Anchor link
Je kopieert kwakkeloos de variabelen uit $_HTTP_POST_VARS (en dat moet $_POST worden).

Als ik pagina.php met $_POST['action'] = 'send' open kan ik dus op jouw naam naar elk emailadres een mail laten sturen.
Je kan nog net niet het bericht doorgeven, want dan had het helemaal mooi geweest.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

10/05/2013 13:11:30
Quote Anchor link
Bouw een captcha in. Dat voorkomt spamming.
 
Landleven Tips

Landleven Tips

10/05/2013 13:22:48
Quote Anchor link
Frank Nietbelangrijk op 10/05/2013 13:11:30:
Bouw een captcha in. Dat voorkomt spamming.


Captcha voorkomt spamming, maar niet het probleem dat het script onveilig is.

Controleer of er daadwerkelijk ook wel een formulier is verzonden met $_SERVER['REQUEST_METHOD'] == 'POST' dit maakt je code direct al een stuk veiliger. Daarnaast kan je die HTTP_POST_VARS ook vervangen door $_POST zoals Eddy al vermeld.
 
- SanThe -

- SanThe -

10/05/2013 13:29:49
 
Frank Nietbelangrijk

Frank Nietbelangrijk

10/05/2013 13:38:42
Quote Anchor link
Landleven,

er is hier niets onveilig, behalve dat je server overbelast kan raken door spamming. De ontvanger is in dit script altijd $siteaddress, er worden geen gegevens opgeslagen, er is geen privacy gevoelige data die beschermd dient te worden, dus waar heb je het over?

Zelfs $_SERVER['REQUEST_METHOD'] == 'POST' maakt je script 0,0% veiliger, dit controleert alleen maar of de request een post of een get is!

Frank

Excuses, dit is niet juist. Het formulier kan naar elk willekeurig email adres verstuurd worden dus dat is niet wenselijk. Maar het beste middel om dit tegen te gaan is een captcha inbouwen.
Gewijzigd op 10/05/2013 13:54:31 door Frank Nietbelangrijk
 
Ivo P

ivo P

10/05/2013 17:16:36
Quote Anchor link
als iemand als adres een hele lijst met mail adressen aanbiedt (met komma's ertussen) dan wordt de mail zo aan 100 adressen verstuurd.

Pas echt ernstig wordt het, als bij het From adres ook het adres vanuit de POST data zou komen. Dan kan iemand het hele mailtje overnemen, incl ontvangers EN de inhoud
 
MArk Peters

MArk Peters

10/05/2013 19:26:52
Quote Anchor link
Mmm oke stukje duidelijker. Als ik dus $_POST gebruik icm $_SERVER['REQUEST_METHOD'] == 'POST' kan ik dit scriptje dan (redelijk) veilig gebruiken of zijn er veiliger scripts?
 
Eddy E

Eddy E

10/05/2013 19:32:23
Quote Anchor link


Even de titels onder elkaar, wat gelijk de tips zijn:
- controleer het emailadres op juistheid (dat het er maar 1 is etc)
- geef de juiste mailheaders weer, zoals een FROM
- gebruik htmlentities() om eventuele zaken tegen te houden.

Daarnaast:
- laat het script per gebruiker/ip niet meer dan 1 mail per minuut versturen (dmv session/cookie)
- controleer of het vorige mailtje niet exact hetzelfde is (zo wel: beetje nutteloos dus)
- Controleer of alles goed is ingevuld voordat je wat gaat doen.
 
Landleven Tips

Landleven Tips

10/05/2013 19:35:40
Quote Anchor link
Hallo Mark,

Dan is het veilig, wat Frank zegt klopt niet helemaal jij controleer nu namelijk niet of er een formulier op JOUW server is ingevuld. Met $_SERVER['REQUEST_METHOD'] doe je dat wel, zo weet je bijna 99,9% dat het formulier van jouw website afkomt.

Daarnaast kan je nog een captcha maken, alleen ik ken al BOTS die dit kunnen aflezen (door een heel libary aan images en die met elkaar vergelijken). Wat je kan toepassen is een hidden input maken, en vervolgens controleren of die is ingevuld of niet (tip van SanThe volgens mij). Aangezien de meeste spam-bots alles invullen bij formulieren, ook hidden inputs voorkom je ook direct spam :)

Daarnaast kan je de tips, van Eddy, en SanThe gebruiken om het nog veiliger te maken.
Gewijzigd op 10/05/2013 19:37:59 door Landleven Tips
 

10/05/2013 20:13:48
Quote Anchor link
$_SERVER['REQUEST_METHOD'] kijkt helemaal niet of de request van de server zelf afkomt. Probeer het eens met cURL. Het zal ook lukken als je alleen $_SERVER['REQUEST_METHOD'] gebruikt!

Wat ik aanraad is het volgende.
- Filter_var gebruiken om het e-mailadres veld te controleren. Zo kan er maar één e-mailadres mee verstuurd worden en moet het ook een echt e-mailadres zijn.
- Naam en content ook valideren op bijvoorbeeld lengte etc.
- Eventueel een captcha als het niet stopt.

Misschien is het ook aan te raden om SWIFT mailer of PHP Mailer te gebruiken. Dan ben je zeker dat je de juiste headers en dergelijke hebt. Daarnaast heeft SWIFT mailer ook heel wat handige classes enzovoort.

@Eddy
Daarvoor moet je een database gebruiken en geen sessies en cookies! Gewoon eens je browser sluiten en voilà. Sessies en cookies zijn verdwenen (als men een bot gebruikt gebeurt dit natuurlijk automatisch).

Maar zelfs met een database is het niet waterdicht omdat sommige spammers misschien iedere keer van IP veranderen (spoofen). Dan is een captcha een mogelijke oplossing.
Gewijzigd op 10/05/2013 20:18:39 door
 
Eddy E

Eddy E

10/05/2013 20:29:44
Quote Anchor link
Jep.
Maar filteren op enkel IP is ook waardeloos, dat is zo verwisseld (goed, cookies en sessies ook).
 



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.