View Issue Details

IDProjectCategoryView StatusLast Update
0004693Talertaler-merchant-demospublic2024-01-12 13:08
ReporterFlorian Dold Assigned ToMarcello Stanisci Resolution deadline
ImplementerReviewer 
Release signed byDeployed by 
VerifierCommunicator 
Data protection authority notification requiredNo  
CSIRT notification requiredNo  
Estimated effort (hours)Actual effort (hours)0 
Fast-trackNo
Work packagenone
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Product Versiongit (master) 
Target Version0.1Fixed in Version0.1 
Summary0004693: bad error messages if user agent has cookies disabled
DescriptionWhen we get a user agent with disabled cookies, we should provide a better error message.

Right now we just show some alert with error 400 and the "payment in progress" spinner.
TagsNo tags attached.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Relationships

related to 0004701 closedMarcello Stanisci merchant frontends should have a proper error page 

Activities

Christian Grothoff

2016-09-28 22:31

manager   ~0011198

Maybe we should deploy more advanced session management (without cookies):

http://www.programmerinterview.com/index.php/php-questions/can-sessions-work-without-cookies/

Basically, the idea is to embed a session ID within a POST request via a hidden argument, and within a GET by appending a parameter. (As the latter is user-visible, the cookie can contain a checksum based on the client's IP address and a server-side secret, thereby preventing the session from being easily copied to another computer.)

Django also has a bunch of provisions for session management:
https://docs.djangoproject.com/en/1.10/topics/http/sessions/

So at least for PHP and Django, I'd expect that we should be able to fallback/use existing mechanisms to deal with this issue.

Christian Grothoff

2016-09-28 22:34

manager   ~0011199

Should have read the whole page first:

>>>Session IDs in URLs<<<

The Django sessions framework is entirely, and solely, cookie-based. It does not fall back to putting session IDs in URLs as a last resort, as PHP does. This is an intentional design decision. Not only does that behavior make URLs ugly, it makes your site vulnerable to session-ID theft via the “Referer” header.


Hard to disagree with the ugly URLs, IP-hashing would make the session-ID theft at least tricky. Then again, maybe the answer is indeed to simply provide a saner error message for now.

Florian Dold

2016-09-28 22:34

manager   ~0011200

-1, because these things badly break navigation.

Sure, we can have another demo / proof-of-concept with different session management, but it's a bad default, user-experience wise.

Another concern is that when using Tor, you can't rely on the IP address.

Marcello Stanisci

2016-10-11 15:19

reporter   ~0011294

fixed in e27bd08, although it seems that the onError callback does not always get the same 'detail' format. For this bug, the 'hint' field is missing.

Issue History

Date ModifiedUsernameFieldChange
2016-09-28 17:35Florian DoldNew Issue
2016-09-28 22:31Christian GrothoffNote Added: 0011198
2016-09-28 22:34Christian GrothoffNote Added: 0011199
2016-09-28 22:34Florian DoldNote Added: 0011200
2016-10-06 22:32Christian GrothoffAssigned To => Marcello Stanisci
2016-10-06 22:32Christian GrothoffStatusnew => assigned
2016-10-06 22:32Christian GrothoffProduct Version => 0.1
2016-10-06 22:32Christian GrothoffTarget Version => 0.2
2016-10-06 22:32Christian GrothoffRelationship addedrelated to 0004701
2016-10-11 15:19Marcello StanisciNote Added: 0011294
2016-10-11 15:19Marcello StanisciStatusassigned => informing
2016-10-11 15:19Marcello StanisciResolutionopen => fixed
2016-10-11 15:23Christian GrothoffProduct Version0.1 => git (master)
2016-10-11 15:23Christian GrothoffFixed in Version => 0.1
2016-10-11 15:23Christian GrothoffTarget Version0.2 => 0.1
2016-10-11 15:28Christian GrothoffStatusinforming => closed
2024-01-12 13:08Christian GrothoffCategorymerchant frontend (blog) => Merchant frontends (Python3)
2026-08-23 14:16Florian DoldCategoryMerchant frontends (Python3) => taler-merchant-demos