Marlingaming

Security API

Apr 8th, 2022 (edited)
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.51 KB | None | 0 0
  1. function CheckSecurity()
  2. return true
  3. end
  4.  
  5. function CheckAccess(file)
  6. local file = fs.open("os/Files/ProgramKeys.txt","r")
  7. local Table = textutils.unserialize(file.readAll())
  8. file.close()
  9. local Key
  10. for i = 1, #Table do
  11. if Table[i][1] == file then Key = Table[i][2] end
  12. end
  13. settings.load("os/settings.txt")
  14. local Doc = fs.open(fs.combine("os/System/Users",settings.get("active_user"),"UserKeys.txt"),"r")
  15. local UserKeys = textutils.unserialize(Doc.readAll())
  16. Doc.close()
  17.  
  18. local Pass = false
  19. for i = 1, #UserKeys do
  20. if Key == UserKeys[i] then Pass = true end
  21. end
  22. if Pass == false and Key == nil then Pass = true end
  23. return Pass
  24. end
  25.  
  26. function getKey(file)
  27. local file = fs.open("os/Files/ProgramKeys.txt","r")
  28. local Table = textutils.unserialize(file.readAll())
  29. file.close()
  30. local Key
  31. for i = 1, #Table do
  32. if Table[i][1] == file then Key = Table[i][2] end
  33. end
  34. return Key
  35. end
  36.  
  37. function AddKey(file,key)
  38. local file = fs.open("os/Files/ProgramKeys.txt","r")
  39. local Table = textutils.unserialize(file.readAll())
  40. Table[#Table + 1] = {file,key}
  41. file.close()
  42. local Doc = fs.open("os/Files/ProgramKeys.txt","w")
  43. Doc.write(textutils.serialize(Table))
  44. Doc.close()
  45. end
  46.  
  47. function AddUserKey(user,key)
  48. local file = fs.open(fs.combine("os/System/Users",user,"UserKeys.txt"),"r")
  49. local Table = textutils.unserialize(file.readAll())
  50. Table[#Table + 1] = {file,key}
  51. file.close()
  52. local Doc = fs.open(fs.combine("os/System/Users",user,"UserKeys.txt"),"w")
  53. Doc.write(textutils.serialize(Table))
  54. Doc.close()
  55. end
Add Comment
Please, Sign In to add comment