uoj-security-lib.php 762 B

123456789101112131415161718192021222324252627282930313233
  1. <?php
  2. function getPasswordToStore($password, $username) {
  3. return md5($username . $password);
  4. }
  5. function checkPassword($user, $password) {
  6. return $user['password'] == md5($user['username'] . $password);
  7. }
  8. function getPasswordClientSalt() {
  9. return UOJConfig::$data['security']['user']['client_salt'];
  10. }
  11. function crsf_token() {
  12. if (!isset($_SESSION['_token'])) {
  13. $_SESSION['_token'] = uojRandString(60);
  14. }
  15. return $_SESSION['_token'];
  16. }
  17. function crsf_check() {
  18. if (isset($_POST['_token'])) {
  19. $_token = $_POST['_token'];
  20. } elseif (isset($_GET['_token'])) {
  21. $_token = $_GET['_token'];
  22. } else {
  23. return false;
  24. }
  25. return $_token === $_SESSION['_token'];
  26. }
  27. function crsf_defend() {
  28. if (!crsf_check()) {
  29. becomeMsgPage('This page has expired.');
  30. }
  31. }