Removed obsolete files

This commit is contained in:
WolverinDEV 2020-04-18 22:20:19 +02:00
parent 4045de5ef3
commit 01f0bff142
5 changed files with 0 additions and 454 deletions

11
auth/.gitignore vendored
View file

@ -1,11 +0,0 @@
#Nope :)
certs/
#A local link just for browsing the files
xf/
css/**/*.css
css/**/*.css.map
js/**/*.js
js/**/*.js.map

View file

@ -1,250 +0,0 @@
<?php
$GLOBALS["COOKIE_NAME_USER_DATA"] = "user_data";
$GLOBALS["COOKIE_NAME_USER_SIGN"] = "user_sign";
$host = gethostname();
$localhost = false;
if($host == "WolverinDEV")
$localhost = true;
function authPath() {
if (file_exists("auth")) {
return "auth/";
} else return "";
}
function mainPath() {
global $localhost;
if ($localhost) {
return "../";
} else return "";
}
function remoteAddress()
{
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}
/** @return \XF\App */
function getXF()
{
if (isset($GLOBALS["XF_APP"])) return $GLOBALS["XF_APP"];
if (file_exists("/var/www/forum.teaspeak"))
$dir = "/var/www/forum.teaspeak";
else if (file_exists(__DIR__ . "/xf"))
$dir = __DIR__ . "/xf";
else if (file_exists(__DIR__ . "/auth/xf"))
$dir = __DIR__ . "/auth/xf";
else
return null;
require($dir . '/src/XF.php');
XF::start($dir);
return ($GLOBALS["XF_APP"] = XF::setupApp('XF\Pub\App'));
}
function milliseconds()
{
$mt = explode(' ', microtime());
return ((int)$mt[1]) * 1000 + ((int)round($mt[0] * 1000));
}
/**
* @param $username
* @param $password
* @return array
*/
function checkLogin($username, $password) {
$allowedXFGroups = [
3, //Administrator
6, //Web tester
5 //Premium
];
$app = getXF();
$response = [];
$response["success"] = false;
if(!$app) goto _return;
if (!isset($username) || !isset($password)) {
$response["msg"] = "missing credentials";
goto _return;
}
/** @var \XF\Service\User\Login $loginService */
$loginService = $app->service('XF:User\Login', $username, "");
if (!$loginService->isLoginLimited()) {
$error = "";
$user = $loginService->validate($password, $error);
if ($user) {
$response["success"] = true;
$allowed = false;
foreach ($allowedXFGroups as $id) {
foreach ($user->secondary_group_ids as $assigned)
if ($assigned == $id) {
$allowed = true;
break;
}
$allowed |= $user->user_group_id == $id;
if ($allowed) break;
}
if ($allowed) {
$response["allowed"] = true;
try {
/** @var $session XF\Session\Session */
$session = $app->session();
if (!$session->exists()) {
$session->expunge();
if (!$session->start(remoteAddress())) {
$response["success"] = false;
$response["msg"] = "could not create session";
goto _return;
}
}
$session->changeUser($user);
$session->save();
$response["sessionName"] = $session->getCookieName();
$response["sessionId"] = $session->getSessionId();
$response["user_name"] = $user->username;
} catch (Exception $error) {
$response["success"] = false;
$response["msg"] = $error->getMessage();
}
goto _return;
} else {
$response["allowed"] = false;
}
} else {
$response["msg"] = $error;
}
} else {
$response["msg"] = "Too many login's!";
}
_return:
return $response;
}
function logged_in() {
return test_session() == 0;
}
function logout()
{
$app = getXF();
if(!$app) return false;
$session = $app->session();
$session->expunge();
return true;
}
/**
* @param null $sessionId
* @return int 0 = Success | 1 = Invalid coocie | 2 = invalid session
*/
function test_session($sessionId = null) {
$app = getXF();
if(!$app) return -1;
if(!isset($sessionId)) {
if (!isset($_COOKIE[$app->session()->getCookieName()]))
return 1;
$sessionId = $_COOKIE[$app->session()->getCookieName()];
}
$app->session()->expunge();
if (!$app->session()->start(remoteAddress(), $sessionId) || !$app->session()->exists())
return 2;
return 0;
}
function redirectOnInvalidSession() {
$app = getXF();
if(!$app) return;
$status = test_session();
if ($status != 0) {
$type = "undefined";
switch ($status) {
case 1:
$type = "nocookie";
break;
case 2:
$type = "expired";
break;
default:
$type = "unknown";
break;
}
header('Location: ' . authPath() . 'login.php?error=' . $type);
setcookie($app->session()->getCookieName(), "", 1);
die();
}
}
function setup_forum_auth() {
getXF(); /* Initialize XF */
}
if(!defined("_AUTH_API_ONLY")) {
$app = getXF();
if(!$app) {
die("failed to start app");
}
if (isset($_GET["type"])) {
error_log("Got authX request!");
if ($_GET["type"] == "login") {
die(json_encode(checkLogin($_POST["user"], $_POST["pass"])));
} else if ($_GET["type"] == "logout") {
logout();
global $localhost;
if($localhost)
header("Location: login.php");
else
header("Location: https://web.teaspeak.de/");
$session = $app->session();
setcookie($session->getCookieName(), '', time() - 3600, '/');
setcookie("session", '', time() - 3600, '/');
setcookie("user_data", '', time() - 3600, '/');
setcookie("user_sign", '', time() - 3600, '/');
} else die("unknown type!");
} else if(isset($_POST["action"])) {
error_log("Got auth post request!");
if($_POST["action"] === "login") {
die(json_encode(checkLogin($_POST["user"], $_POST["pass"])));
} else if ($_POST["action"] === "logout") {
logout();
die(json_encode([
"success" => true
]));
} else if($_POST["action"] === "validate") {
$app = getXF();
if(test_session($_POST["token"]) === 0)
die(json_encode([
"success" => true,
"token" => $app->session()->getSessionId()
]));
else
die(json_encode([
"success" => false
]));
} else
die(json_encode([
"success" => false,
"msg" => "Invalid action"
]));
}
}

View file

@ -1,80 +0,0 @@
body{
padding:0;
margin:0;
}
.inner {
position: absolute;
}
.inner-container{
width:400px;
height:400px;
position:absolute;
top:calc(50vh - 200px);
left:calc(50vw - 200px);
overflow:hidden;
}
.box{
position:absolute;
height:100%;
width:100%;
font-family:Helvetica;
color:#fff;
background:rgba(0,0,0,0.13);
padding:30px 0px;
text-align: center;
}
.box h1{
text-align:center;
margin:30px 0;
font-size:30px;
}
.box input{
display:block;
width:300px;
margin:20px auto;
padding:15px;
background:rgba(0,0,0,0.2);
color:#fff;
border:0;
}
.box input:focus,.box input:active,.box button:focus,.box button:active{
outline:none;
}
.box button {
background:#742ECC;
border:0;
color:#fff;
padding:10px;
font-size:20px;
width:330px;
margin:20px auto;
display:block;
cursor:pointer;
}
.box button:disabled {
background:rgba(0,0,0,0.2);
}
.box button:active{
background:#27ae60;
}
.box p{
font-size:14px;
text-align:center;
}
.box p span{
cursor:pointer;
color:#666;
}
.box .error {
color: darkred;
display: none;
}
#login {
display: block;
}
#success {
margin-top: 50px;
display: none;
}

View file

@ -1,76 +0,0 @@
const btn_login = $("#btn_login");
btn_login.on('click', () => {
btn_login
.prop("disabled", true)
.empty()
.append($(document.createElement("i")).addClass("fa fa-circle-o-notch fa-spin"));
submitLogin($("#user").val() as string, $("#pass").val() as string);
});
function submitLogin(user: string, pass: string) {
$.ajax({
url: "auth.php?type=login",
type: "POST",
cache: false,
data: {
user: user,
pass: pass
},
success: (result: string) => {
setTimeout(() => {
let data;
try {
data = JSON.parse(result);
} catch (e) {
loginFailed("Invalid response: " + result);
return;
}
if (data["success"] == false) {
loginFailed(data["msg"]);
return;
}
if (data["allowed"] == false) {
loginFailed("You're not allowed for the closed beta!");
return;
}
$("#login").hide(500);
$("#success").show(500);
document.cookie = data["sessionName"] + "=" + data["sessionId"] + ";path=/";
document.cookie = data["cookie_name_data"] + "=" + data["user_data"] + ";path=/";
document.cookie = data["cookie_name_sign"] + "=" + data["user_sign"] + ";path=/";
console.log(result);
setTimeout(() => {
window.location.href = btn_login.attr("target");
}, 1000 + Math.random() % 1500);
}, 500 + Math.random() % 500);
},
error: function (xhr,status,error) {
loginFailed("Invalid request (" + status + ") => " + error);
}
});
}
function loginFailed(err: string = "") {
btn_login
.prop("disabled", false)
.empty()
.append($(document.createElement("a")).text("Login"));
let errTag = $(".box .error");
if(err !== "") {
errTag.text(err).show(500);
} else errTag.hide(500);
}
//<i class="fa fa-circle-o-notch fa-spin" id="login-loader"></i>
$("#user").on('keydown', event => {
if(event.key == "Enter") $("#pass").focus();
});
$("#pass").on('keydown', event => {
if(event.key == "Enter") $("#btn_login").trigger("click");
});

View file

@ -1,37 +0,0 @@
<?php
include_once('auth.php');
$session = test_session();
if($session == 0) {
header('Location: ' . mainPath() . 'index.php');
die();
}
?>
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="css/auth.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<script src="https://code.jquery.com/jquery-latest.min.js"></script>
</head>
<body>
<div class="inner-container">
<div class="box">
<h1>Login</h1>
<div id="login">
<a class="error">some error code</a>
<input type="text" placeholder="Username" id="user"/>
<input type="password" placeholder="Password" id="pass"/>
<button id="btn_login" target="<?php echo mainPath() . "index.php"; ?>">Login</button>
<p>Create a account on <a href="//forum.teaspeak.de">forum.teaspeak.de</a></p>
</div>
<div id="success">
<a> Successful logged in!</a><br>
<a>You will be redirected in 3 seconds</a>
</div>
</div>
</div>
<script src="js/auth.js"></script>
</body>
</html>