Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re^2: Paranoia

by basje (Beadle)
on Aug 09, 2005 at 21:07 UTC ( [id://482432]=note: print w/replies, xml ) Need Help??


in reply to Re: Paranoid about web application security
in thread Paranoid about web application security

SSH is not strictly necessary, only for transmitting confidential information (like transmitting orders, creditcard info and changing passwords). You can keep passwords perfectly safe over an unencrypted link.

If you enforce logging in over ssh you get extra complications with cookies/sessions, unless the whole site runs under https.

A safe way to use logins over plaintext is the following: Store only the md5 of the password in your DB (we'll call this md5pw here).

Now, send a unique random number to the client (sessionId will work well). Have the client take the typed password, and (in JavaScript) do md5(md5(password)+sessionId). Send the result, along with the username. You can verify it on the server side easily, as you have the sessionId, the md5pw and the username. The password is never sent, and neither is the md5pw, only a sequence that changes with every session.

Eve cannot do anything with it. Mallory could hijack the session, but you have that problem in any session based site. You can solve that by including a checksum.

One could opt for this scheme and have the payments handled by a merchant, to which you would link (or use paypal). That would alleviate the need for the ssh, which would be a hassle to implement well under windows.

Replies are listed 'Best First'.
Re^3: Paranoia
by samizdat (Vicar) on Aug 10, 2005 at 13:38 UTC
    If somebody has a login/pw form on their home page, I can't see how it is safe, unless they are doing what you suggest with every home page visit. Please enlighten me. :)

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://482432]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others chanting in the Monastery: (4)
As of 2024-04-25 05:33 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found