Foto's via mail verwerken in je website, tips?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

- Ariën  -
Beheerder

- Ariën -

04/04/2018 10:53:22
Quote Anchor link
Voor een nieuwssite van mij ben ik van plan om een mogelijkheid voor redactie aan te bieden zodat ze foto's via mail naar de website kunnen sturen, zodat deze automatisch aan het nieuwsbericht worden toegevoegd.

Het idee is erg simpel:
1) Een redactielid maakt een foto en stuurt deze per mail naar een bepaalde speciale mailbox
2) het mailadres als afzender wordt geverifieerd als legitiem (om spammers buiten te houden)
3) De foto wordt door een script via een cronjob die elke paar minuten draait uitgelezen en door een ander script verwerkt tot de gewenste fotoformaten, en aan het artikel toegevoegd.

Nu vraag ik me af, of dit veilig is? We weten dat mailadressen ook kunnen worden gefaked, dus er kan misbruik van het systeem gemaakt worden. Zijn er mogelijkheden om dit beter te kunnen beveiligen? Iemand die hier wat ideeën over heeft?
 
PHP hulp

PHP hulp

27/11/2024 11:03:58
 
Ben van Velzen

Ben van Velzen

04/04/2018 11:10:08
Quote Anchor link
Zo op het oog is het niet veilig, maar er zijn manieren om het veilig te maken. Denk bijvoorbeeld aan PGP of een S/Mime certificaat voor de verzender (welke je uiteraard verifieert) of eenvoudiger een bepaalde tekst die in de mail moet voorkomen. Overigens ben ik geen voorstander van met cron een mailbox uitlezen. Pipe de mails dan gewoon naar een script, dan ben je sneller klaar. Desnoods kun je dan alsnog de mails in een mailbox bewaren.
 
- Ariën  -
Beheerder

- Ariën -

04/04/2018 11:18:38
Quote Anchor link
Dat zou ook kunnen, maar ik wou de foto's liever in een batch dan tegelijk verwerken zodat ze tegelijkertijd in het nieuwsbericht staan.

Ik denk er wel over om misschien speciale tokens in de Adminbackend te genereren die beperkt geldig zijn, die je aan de mail moet meegeven. Dat zou het al een stuk beter beveiligen.
 
Rob Doemaarwat

Rob Doemaarwat

04/04/2018 15:11:17
Quote Anchor link
- Ariën - op 04/04/2018 11:18:38:
Ik denk er wel over om misschien speciale tokens in de Adminbackend te genereren die beperkt geldig zijn, die je aan de mail moet meegeven. Dat zou het al een stuk beter beveiligen.

Is het dan niet handiger om ze gewoon in dat "Adminbackend" in te laten loggen, en de foto's op de "gebruikelijke manier" te uploaden?

Ik snap dat mailen (soms) makkelijker is. Maar zoals zo vaak betekent "gemak" ook "minder veilig". Als je dat dan weer probeert te "repareren" breng je het gemak weer om zeep en ben je eigenlijk niks opgeschoten.

Ik zou voor elke redacteur gewoon een enorm "random" e-mailadres aanmaken (bijvoorbeeld bhz7tncbk0ycochkjfxzuze5lei5mrlsf9807x2mzopc3x9tmwnvcwhfzmxgbhhcck047vzgh8zhi7pxabpras9cpyf4jbmm2spmlwbfmixomv2kacppyijnls18eirt@redactie.nl), dan vanuit het systeem een mailtje naar de redacteur sturen (met als afzender dat adres). Dan kunnen ze 'm bij hun contactpersonen zetten, en vervolgens daar de mail naartoe sturen. Kleine kans dat iemand dit e-mailadres gaat raden / brute-forcen. Mocht het toch gebeuren (of op een andere manier gelekt - dat lijkt me eerder gebeuren), dan maak je voor de betreffende redacteur een nieuw random e-mailadres aan.
 
- Ariën  -
Beheerder

- Ariën -

04/04/2018 16:53:49
Quote Anchor link
Opsich is direct vanuit de backend uploaden ook mogelijk, maar de backend zelf is er gewoon nog niet lekker goed geschikt voor, waarbij je een hoop moet doorklikken.. Maar via e-mail werkt ook weer makkelijker, en op menig smartphone is het ook direct te delen als je het gemaakt hebt.

Ik houd het bij een random aan te maken mailadres, en een controle op het mailadres. Mocht er misbruik komen, dan is dat toch snel te detecteren ;-).

Ik ga eerst maar even uitvogelen hoe attachments met imap in PHP kunnen worden uitgelezen.
 
Ozzie PHP

Ozzie PHP

04/04/2018 17:28:39
Quote Anchor link
How about ...

Van alle mailadressen die een mail mogen sturen naar de mailbox foto@... maak je een whitelist aan. Staat jouw mailadres niet op de whitelist, dan wordt de mail genegeerd.

Nu komt ie ... voordat je de foto gaat mailen, stuur je een lege mail naar foto@... Jouw mailadres wordt herkend en naar datzelfde mailadres wordt een simpele token teruggestuurd van 4 cijfers.

Jij moet nu binnen 10 minuten een foto sturen naar foto@... en als onderwerp geef je de token van 4 cijfers mee. Stuur je later dan 10 minuten een mail, dan wordt die genegeerd.

Ideetje?
 
Ben van Velzen

Ben van Velzen

04/04/2018 18:07:59
Quote Anchor link
Klinkt als omgekeerde greylisting. Kan interessant zijn. Je zou in dat geval ook nog kunnen zeggen "reply op deze mail", wat te zien is aan de References (of In-Reply-To) header, afhankelijk van de gebruikte client.
 
Ozzie PHP

Ozzie PHP

04/04/2018 20:48:56
Quote Anchor link
@Ben

>> Je zou in dat geval ook nog kunnen zeggen "reply op deze mail" ...

Dat was ook mijn eerste gedachte, maar als ik het goed begrijp wil hij rechtstreeks kunnen mailen. Bijv. vanuit je gallery op je telefoon selecteer je een foto, dan klik je op delen en kies je je mail-app. Bij een reply kan dat niet, dan moet je de foto als bijlage gaan invoegen wat iets lastiger is. Vandaar mijn idee met de simpele token. De beveiliging zit in het feit dat 1) je een gewhitelist mailadres moet hebben 2) een token wordt gebruikt die naar een gewhitelist mailadres wordt gestuurd (kan dus niet aankomen bij een kwaadwillend persoon) 3) de token is maar kort geldig.

Lijkt me dat dit niet te hacken valt omdat een hacker niet op die whitelist staat.
 
Thomas van den Heuvel

Thomas van den Heuvel

04/04/2018 23:03:58
Quote Anchor link
Waarom niet een variant waarbij je je sowieso bij het eindadres moet authenticeren? Dan heb je bovenstaande problematiek ook (deels) niet.

Al gekeken naar filesharing diensten zoals, ik noem maar een dwarsstraat, Dropbox ofzo? Geen idee of dat aansluit bij wat je zoekt, maar het idee lijkt mij duidelijk (NB, je hoeft dan ook geen aparte programma's te installeren en misschien bestrijken die diensten zelf ook meerdere media middels apps enzo, zodat foto's van de mobiel mogelijk ook een optie worden).

Enige wat je dan rest is het schrijven van een PHP-koppeling met een API.
Gewijzigd op 04/04/2018 23:05:18 door Thomas van den Heuvel
 
- Ariën  -
Beheerder

- Ariën -

04/04/2018 23:29:31
Quote Anchor link
Het gaat eigenlijk niet enkel om het droppen van een foto, maar ook eventueel textuele uitleg erbij, of eventuele commando's (bericht uit concept-mode halen bijv.). Dan wil je dat zo snel mogelijk willen doen, en ook als je meerdere redactieleden hebt. Met Dropbox is dat weer zo'n onhandig gedoe.

Ik geef toe dat er echt geen 5 MB per foto over de lijn gaat, maar iets wat op de telefoon/camera al verkleind is.

Ik ga zeker kijken of ik iets met een tijdelijk token kan doen die je per mail/sms of whatever krijgt.
 
Jan te Pas

Jan te Pas

05/04/2018 08:54:11
Quote Anchor link
Is het een idee om daarvoor een formulier te maken, die alleen te gebruiken is door members die jij aangeschakeld hebt. Op het formulier kun je dan de afbeelding en de tekst laten invoeren. Op het moment van updaten, weet jij dat het uit betrouwbare bron komt. En de foto voorzien is van informatie/tekst die jij nodig acht. Dat voorkomt mi een hoop gedoe. Is maar een idee.
 
- Ariën  -
Beheerder

- Ariën -

05/04/2018 09:18:42
Quote Anchor link
Jan te Pas op 05/04/2018 08:54:11:
Is het een idee om daarvoor een formulier te maken, die alleen te gebruiken is door members die jij aangeschakeld hebt.

Die is er, maar dat werkt vrij omslachtig als de foto snel online moet komen.
Gewijzigd op 05/04/2018 09:19:12 door - Ariën -
 
Jan te Pas

Jan te Pas

05/04/2018 10:47:29
Quote Anchor link
Nog een idee, kan een member een prioriteit meegeven op het formulier. Jij kunt die prioriteit dan afvangen en sneller plaatsen.
 
- Ariën  -
Beheerder

- Ariën -

05/04/2018 10:54:10
Quote Anchor link
Opsich zijn het redactieleden, maar die prioriteit hoort echt niet door het systeem te worden bepaald.
Ze klikken een foto, mailen die door naar een bepaalde mailbox met eenbepaalde code/token en het staat bij het artikel.
 



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.