2017-03-09 6 views
-2

Ich versuche derzeit, Sinatra zu begreifen, und ich bemerkte, dass es keine aktuelle Authentifizierung Edelstein wie Gerät für Schienen gibt. Ich habe mich entschieden, einfach mein eigenes Authentifizierungssystem zu erstellen, und meine Frage lautet: Was sind die wichtigsten Vorkehrungen, die ich treffen muss, um meine Benutzer sicher zu machen? Ich muss Passwörter in Hash-Form speichern, möglicherweise mit Salz, aber was noch? Bedenke, dass ich kein Sicherheitsexperte bin, würde diese Frage nicht stellen, wenn es anders wäre.Was ist für die Authentifizierung erforderlich, um sicher zu sein

+1

Dies ist ein bisschen breit ist und somit ungeeignet für SO zu verschlüsseln. Lesen Sie alles auf http://security.stackexchange.com/questions/tagged/authentication? xd – ndn

+0

Bitte lesen Sie "[fragen]" und die verlinkten Seiten, zusammen mit "[mcve]". Wenn Sie Ihr eigenes Authentifizierungssystem schreiben, können Sie nicht in den Midstream springen. Ich würde empfehlen, als Teil eines bestehenden Projekts zu arbeiten, um es zu verbessern und zu lernen, was es braucht, und dann zu überlegen, ob Sie es wirklich übernehmen wollen. SO ist nicht der Ort, um diese Frage zu stellen, obwohl andere [se] -Seiten gut wären. –

Antwort

0

Try Passwort mit bcrypt gem

vorsichtig sein mit Sitzungen Hijacking

zum Beispiel

post "/signup" do 
    password_salt = BCrypt::Engine.generate_salt 
    password_hash = BCrypt::Engine.hash_secret(params[:password], password_salt) 

    #ideally this would be saved into a database, hash used just for sample 
    userTable[params[:username]] = { 
    :salt => password_salt, 
    :passwordhash => password_hash 
    } 

    session[:username] = params[:username] 
    redirect "/" 
end 
+0

Könntest du bitte die Session-Hijacking näher erläutern? – Leo

+0

Durch das Stehlen der Sitzungs-ID eines Benutzers kann ein Angreifer die Webanwendung im Namen des Opfers verwenden. http://guides.rubyonrails.org/security.html#session-hijacking –

+0

Die Frage ist zu breit für [so]. https://meta.stackoverflow.com/questions/256328/vote-to-close-unclear-questions-unmittelbar-after-commentment und https://meta.stackoverflow.com/questions/260263/how-long-should- Wir warten auf ein Plakat, um eine Frage zu klären, bevor Sie schließen, könnte Ihnen bei der Beantwortung helfen. –

Verwandte Themen