Advertisement
Guest User

Untitled

a guest
Jul 2nd, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.09 KB | None | 0 0
  1. <?
  2. package require sqlite3
  3. package require ip
  4.  
  5. sqlite3 auth_db /home/www-data/data/tc_auth_db
  6.  
  7. if { [var exists user] && [var exists pass] } {
  8. set user [var get user]
  9. set pass [var get pass]
  10. if {$user == "test" && $pass == "test"} {
  11. puts -nonewline "Hey, you win!"
  12. return
  13. }
  14. set auth [auth_db eval {SELECT * FROM users WHERE lower(user)=lower($user) AND pass=$pass}]
  15. if {[llength $auth] == 0} {
  16. puts -nonewline "invalid"
  17. return
  18. }
  19. #lindex starts at 0!
  20. set user [lindex $auth 0]
  21. set tokens [lindex $auth 2]
  22. set userdata [lindex $auth 3]
  23.  
  24. #okay, now generate our authorization ticket for the user
  25. set ssl_bin "/usr/bin/openssl"
  26. #have openssl sign our fledgling cookie
  27. set timeout [expr "[clock seconds] + 1209600"]
  28. set tkt "uid=${user};validuntil=$timeout;cip=[env REMOTE_ADDR];tokens=${tokens};udata=${userdata}"
  29. set sig [exec echo "$tkt" | $ssl_bin dgst -sha1 -binary -sign /home/www-data/.ssh/privtkt.pem | $ssl_bin enc -base64]
  30. set cookie "$tkt;sig=$sig"
  31.  
  32. #Send the auth ticket back
  33. puts -nonewline $cookie
  34.  
  35. return
  36. }
  37. puts -nonewline "invalid"
  38. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement