Advertisement
Guest User

Untitled

a guest
Dec 11th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.73 KB | None | 0 0
  1. <?php
  2. $keys = array(
  3.     'key1', 'key2', 'key3'
  4. );
  5.  
  6. $users = array(
  7.     'user1' => $keys[0], 'user2' => $keys[1], 'user3' => $keys[2] //Номер ключа, с учётом того, что с 0
  8. );
  9.  
  10. if(!file_exists('auths.txt')) exit('File not found');
  11. if(empty($_GET['action']) OR empty($_GET['key']) OR empty($_GET['user']))  exit('Data error');
  12. if(!in_array($_GET['key'], $keys)) {
  13.     exit('Ключ не найден');
  14. }
  15.  
  16. $auth_status = FALSE;
  17. $del_status = FALSE;
  18. $user_status = FALSE;
  19.  
  20. if($_GET['action'] == 'auth') {
  21.     $file = file_get_contents('auths.txt');
  22.     $auths = explode("\n", $file);
  23.     foreach($auths AS $auth) {
  24.         $user = explode('|', $auth);
  25.         if($_SERVER['REMOTE_ADDR'] == $user[0]) {
  26.             $auth_status = TRUE;
  27.             foreach($users AS $dusers => $k) {
  28.                 if($_GET['user'] == $dusers AND $_GET['key'] == $k){
  29.                     $user_status = TRUE;
  30.                     break;
  31.                 }
  32.             }
  33.             if($user_status == TRUE) {
  34.                 echo "Вы уже авторизованы с ключём: {$user[1]}";
  35.                 break;
  36.             } else {
  37.                 echo 'Текст, который будет отображён пользователю с неверным логином';
  38.                 break;
  39.             }
  40.             break;
  41.         }
  42.         if($_GET['key'] == $user[1]){
  43.             exit("С данным ключём авторизован IP: {$user[0]}");
  44.         }
  45.     }
  46.     if(!$auth_status) {
  47.         file_put_contents('auths.txt', "{$_SERVER['REMOTE_ADDR']}|{$_GET['key']}\n", FILE_APPEND);
  48.         echo "Вы авторизовались с IP: {$_SERVER['REMOTE_ADDR']} и key: {$_GET['key']}";
  49.     }
  50. }
  51.  
  52. if($_GET['sign'] == '1') {
  53.     echo 'Что-то #1';
  54. } elseif($_GET['sign'] == '����-�� #2') { //Что за текст тут - загадка. Файл был не в UTF-8.
  55.     echo 'Что-то #2';
  56. }
  57.  
  58.  
  59. if($_GET['action'] == 'exit') {
  60.     $file = file_get_contents('auths.txt');
  61.     $auths = explode("\n", $file);
  62.     $i = -1;
  63.     foreach($auths AS $auth) {
  64.         $i++;
  65.         $user = explode('|', $auth);
  66.         if($_GET['key'] == $user[1] AND $_SERVER['REMOTE_ADDR'] == $user[0]) {
  67.             $del_status = TRUE;
  68.             echo "Будет произведено удаление строки {$i} (key: {$user[1]})";
  69.             break;
  70.         }
  71.     }
  72.     if(!$del_status) {
  73.         echo 'Удаление невозможно';
  74.     } else {
  75.         $file = file_get_contents('auths.txt');
  76.         $auths = explode("\n", $file);
  77.         unset($auths[$i]);
  78.         $auths = implode("\n", $auths);
  79.         file_put_contents('auths.txt', $auths);
  80.     }
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement