Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'sqlite3'
- db_file_path = File.join(File.dirname(__FILE__), "test.db")
- DB = SQLite3::Database.new(db_file_path)
- puts "username ?"
- print "> "
- username = gets.chomp
- puts "password ?"
- print "> "
- password = gets.chomp
- # Ce qu'il NE FAUT PAS FAIRE, car vous introduisez une faille de sécurité.
- # En effet, si vous saisissez
- # john' --
- # dans le username, vous pouvez vous connecter en tant que manager sans saisir de mot de passe
- # sql = "SELECT * FROM users WHERE username= '#{username}' AND password= '#{password}"
- # p sql
- # row = DB.execute(sql, username, password)
- # Ce qu'il FAUT faire pour éviter l'injection
- sql = "SELECT * FROM users WHERE username= ? AND password= ?"
- p sql
- row = DB.execute(sql, username, password)
- if row.empty?
- puts "credentials not correct"
- else
- employee_role = row.first[3]
- puts "you are logged as a #{employee_role}"
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement