Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is confirmation server-side or client-side? #1

Open
samuel-allan opened this issue Jan 18, 2018 · 2 comments
Open

Is confirmation server-side or client-side? #1

samuel-allan opened this issue Jan 18, 2018 · 2 comments

Comments

@samuel-allan
Copy link

As the title indicates - is the transaction confirmation check client-side (javascript in the browser) or server-side (node.js/PHP/e.t.c.)?
It currently looks to me that the library is purely client-side but I might be gravely mistaken (please correct me in that case) - and the main problem with this is an attacker can simply modify the quantity via the console / in the browser

@samuel-allan
Copy link
Author

The only two secure options I see are the following:

  1. Have a central organization (like PayPal) which does the processing and IS sufficiently secure, it can then act as an intermediate to confirm transactions - in this case the client side approach will work, because the post-transaction will be handled by your central organization (e.g. calling a PHP page with a specific one-time ID number, e.t.c.)
  2. Have a 'confirmation server' installed with the package (Node.JS or PHP and maybe Python server most probably) which does nothing but gets requests from the client javascript to order 10 of XYZ with memo ABC, it then waits until verified and when verified replies back to the client the post-transaction details (such as a generated software key, e.t.c.)
    If the post-transaction details are stored in the javascript, or the quantity is coded into the javascript it will always be vulnerable

@kuyawa
Copy link
Owner

kuyawa commented Jan 21, 2018

Right now it's only client side but we will be working on a server implementation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants